discord-player 7.1.0 → 7.2.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import * as discord_js from 'discord.js';
2
2
  import { Client, User, UserResolvable, GuildVoiceChannelResolvable, VoiceChannel, StageChannel, Guild, VoiceState, VoiceBasedChannel, GuildResolvable, Snowflake } from 'discord.js';
3
3
  import Eris from 'eris';
4
+ import * as Oceanic from 'oceanic.js';
4
5
  import { ListenerSignature, DefaultListener, EventEmitter, Collection, Queue, QueueStrategy } from '@discord-player/utils';
5
6
  import { Readable, Duplex } from 'stream';
6
7
  import * as _discord_player_equalizer from '@discord-player/equalizer';
7
- import { EqualizerBand, BiquadFilters, PCMFilters, FiltersChain } from '@discord-player/equalizer';
8
+ import { SeekEvent, EqualizerBand, BiquadFilters, PCMFilters, CommonResamplerFilterPreset, ResampleParameters, CompressorParameters, ReverbParameters, SeekerParameters, FiltersChain } from '@discord-player/equalizer';
8
9
  export { AF_NIGHTCORE_RATE, AF_VAPORWAVE_RATE, BASS_EQ_BANDS, FilterType as BiquadFilterType, BiquadFilters, FiltersChain, AudioFilters as PCMAudioFilters, PCMFilters, Q_BUTTERWORTH, VolumeTransformer } from '@discord-player/equalizer';
9
10
  import { AudioResource, StreamType, AudioPlayerError, VoiceConnection, AudioPlayer, AudioPlayerStatus } from 'discord-voip';
10
11
  export { AudioPlayer, CreateAudioPlayerOptions, JoinConfig, JoinVoiceChannelOptions, StreamType, createAudioPlayer, createAudioResource, getVoiceConnection, getVoiceConnections, joinVoiceChannel } from 'discord-voip';
@@ -13,7 +14,6 @@ import { RequestOptions } from 'http';
13
14
  import { FFmpegLib } from '@discord-player/ffmpeg';
14
15
  export * from '@discord-player/ffmpeg';
15
16
 
16
- declare function isErisProxy(client: any): client is Eris.Client;
17
17
  /**
18
18
  * Allows Eris clients to be used with discord-player. When this method is called, discord-player creates a proxy object that intercepts certain methods and properties to make it compatible with discord-player.
19
19
  * @param client The Eris client to be used.
@@ -21,6 +21,16 @@ declare function isErisProxy(client: any): client is Eris.Client;
21
21
  */
22
22
  declare function createErisCompat(client: Eris.Client): Client;
23
23
 
24
+ /**
25
+ * Allows Oceanic.js clients to be used with discord-player. When this method is called, discord-player creates a proxy object that intercepts certain methods and properties to make it compatible with discord-player.
26
+ * @param client The Oceanic.js client to be used.
27
+ * @returns The Oceanic.js client with discord-player compatibility.
28
+ */
29
+ declare function createOceanicCompat(client: Oceanic.Client): Client;
30
+
31
+ declare function isErisProxy(client: any): boolean;
32
+ declare function isOceanicProxy(client: any): boolean;
33
+
24
34
  declare class PlayerEventsEmitter<L extends ListenerSignature<L> = DefaultListener> extends EventEmitter<L> {
25
35
  #private;
26
36
  requiredEvents: Array<keyof L>;
@@ -492,6 +502,20 @@ declare class Track<T = unknown> {
492
502
  * @param data Track data
493
503
  */
494
504
  constructor(player: Player, data: Partial<WithMetadata<RawTrackData, T>>);
505
+ /**
506
+ * Whether this track can be seeked
507
+ */
508
+ get seekable(): boolean;
509
+ /**
510
+ * Set the onSeek event
511
+ * @param fn The onSeek event
512
+ */
513
+ handleSeek(fn: (event: SeekEvent) => Awaited<void>): void;
514
+ /**
515
+ * Request seek
516
+ * @param event The seek event
517
+ */
518
+ seek(event: SeekEvent): Promise<void>;
495
519
  /**
496
520
  * Sets audio resource for this track. This is not useful outside of the library.
497
521
  * @param resource Audio resource
@@ -589,14 +613,36 @@ interface CreateStreamOps {
589
613
  disableVolume?: boolean;
590
614
  disableEqualizer?: boolean;
591
615
  disableBiquad?: boolean;
616
+ disableCompressor?: boolean;
617
+ disableResampler?: boolean;
618
+ disableReverb?: boolean;
619
+ disableSeeker?: boolean;
592
620
  eq?: EqualizerBand[];
593
621
  biquadFilter?: BiquadFilters;
594
622
  disableFilters?: boolean;
595
623
  defaultFilters?: PCMFilters[];
596
624
  volume?: number;
597
- disableResampler?: boolean;
598
625
  sampleRate?: number;
626
+ sampleRateFilters?: CommonResamplerFilterPreset;
599
627
  skipFFmpeg?: boolean;
628
+ compressor?: {
629
+ threshold: number;
630
+ ratio: number;
631
+ attack: number;
632
+ release: number;
633
+ makeupGain: number;
634
+ kneeWidth: number;
635
+ };
636
+ reverb?: {
637
+ roomSize: number;
638
+ damping: number;
639
+ wetLevel: number;
640
+ dryLevel: number;
641
+ };
642
+ seeker?: {
643
+ seekTarget: number | null;
644
+ totalDuration: number;
645
+ };
600
646
  }
601
647
  interface VoiceEvents {
602
648
  error: (error: AudioPlayerError) => any;
@@ -605,8 +651,11 @@ interface VoiceEvents {
605
651
  finish: (resource: AudioResource<Track>) => any;
606
652
  dsp: (filters: PCMFilters[]) => any;
607
653
  eqBands: (filters: EqualizerBand[]) => any;
608
- sampleRate: (filters: number) => any;
654
+ sampleRate: (filters: ResampleParameters) => any;
609
655
  biquad: (filters: BiquadFilters) => any;
656
+ compressor: (filters: CompressorParameters) => any;
657
+ reverb: (filters: ReverbParameters) => any;
658
+ seeker: (filters: SeekerParameters) => any;
610
659
  volume: (volume: number) => any;
611
660
  destroyed: () => any;
612
661
  }
@@ -678,6 +727,9 @@ declare class StreamDispatcher extends EventEmitter<VoiceEvents> {
678
727
  get filters(): _discord_player_equalizer.AudioFilter | null;
679
728
  get biquad(): _discord_player_equalizer.BiquadStream | null;
680
729
  get equalizer(): _discord_player_equalizer.EqualizerStream | null;
730
+ get compressor(): _discord_player_equalizer.CompressorTransformer | null;
731
+ get reverb(): _discord_player_equalizer.ReverbTransformer | null;
732
+ get seeker(): _discord_player_equalizer.PCMSeekerTransformer | null;
681
733
  /**
682
734
  * The player status
683
735
  * @type {AudioPlayerStatus}
@@ -733,7 +785,7 @@ declare class StreamDispatcher extends EventEmitter<VoiceEvents> {
733
785
  get streamTime(): number;
734
786
  }
735
787
 
736
- declare class GuildQueueHistory<Meta = unknown> {
788
+ declare class GuildQueueHistory<Meta = any> {
737
789
  queue: GuildQueue<Meta>;
738
790
  tracks: Queue<Track<unknown>>;
739
791
  constructor(queue: GuildQueue<Meta>);
@@ -912,7 +964,7 @@ interface StreamConfig {
912
964
  dispatcherConfig: CreateStreamOps;
913
965
  playerConfig: ResourcePlayOptions;
914
966
  }
915
- declare class GuildQueuePlayerNode<Meta = unknown> {
967
+ declare class GuildQueuePlayerNode<Meta = any> {
916
968
  #private;
917
969
  queue: GuildQueue<Meta>;
918
970
  tasksQueue: AsyncQueue;
@@ -1061,6 +1113,11 @@ declare class GuildQueuePlayerNode<Meta = unknown> {
1061
1113
  * @param force Whether or not to forcefully stop the playback
1062
1114
  */
1063
1115
  stop(force?: boolean): boolean;
1116
+ /**
1117
+ * Request the source to seek
1118
+ * @param data The seek parameters
1119
+ */
1120
+ requestSeek(data: SeekEvent): Promise<boolean | void>;
1064
1121
  /**
1065
1122
  * Play the given track
1066
1123
  * @param res The track to play
@@ -1107,7 +1164,7 @@ type EQPreset = {
1107
1164
  Techno: EqualizerBand[];
1108
1165
  };
1109
1166
  declare const EqualizerConfigurationPreset: Readonly<EQPreset>;
1110
- declare class FFmpegFilterer<Meta = unknown> {
1167
+ declare class FFmpegFilterer<Meta = any> {
1111
1168
  #private;
1112
1169
  af: GuildQueueAudioFilters<Meta>;
1113
1170
  constructor(af: GuildQueueAudioFilters<Meta>);
@@ -1199,8 +1256,11 @@ interface GuildQueueAFiltersCache {
1199
1256
  filters: PCMFilters[];
1200
1257
  volume: number;
1201
1258
  sampleRate: number;
1259
+ sampleRateFilter: StreamConfig['dispatcherConfig']['sampleRateFilters'] | null;
1260
+ compressor: StreamConfig['dispatcherConfig']['compressor'] | null;
1261
+ reverb: StreamConfig['dispatcherConfig']['reverb'] | null;
1202
1262
  }
1203
- declare class GuildQueueAudioFilters<Meta = unknown> {
1263
+ declare class GuildQueueAudioFilters<Meta = any> {
1204
1264
  queue: GuildQueue<Meta>;
1205
1265
  graph: AFilterGraph<Meta>;
1206
1266
  ffmpeg: FFmpegFilterer<Meta>;
@@ -1227,13 +1287,25 @@ declare class GuildQueueAudioFilters<Meta = unknown> {
1227
1287
  * Audio resampler
1228
1288
  */
1229
1289
  get resampler(): _discord_player_equalizer.PCMResampler | null;
1290
+ /**
1291
+ * Compressor transformer
1292
+ */
1293
+ get compressor(): _discord_player_equalizer.CompressorTransformer | null;
1294
+ /**
1295
+ * Reverb transformer
1296
+ */
1297
+ get reverb(): _discord_player_equalizer.ReverbTransformer | null;
1298
+ /**
1299
+ * PCM Seeker transformer
1300
+ */
1301
+ get seeker(): _discord_player_equalizer.PCMSeekerTransformer | null;
1230
1302
  /**
1231
1303
  * Replay current track in transition mode
1232
1304
  * @param seek The duration to seek to
1233
1305
  */
1234
1306
  triggerReplay(seek?: number): Promise<boolean>;
1235
1307
  }
1236
- declare class AFilterGraph<Meta = unknown> {
1308
+ declare class AFilterGraph<Meta = any> {
1237
1309
  af: GuildQueueAudioFilters<Meta>;
1238
1310
  constructor(af: GuildQueueAudioFilters<Meta>);
1239
1311
  get ffmpeg(): (keyof QueueFilters)[];
@@ -1274,7 +1346,7 @@ interface GuildQueueStatisticsMetadata {
1274
1346
  player: string;
1275
1347
  };
1276
1348
  }
1277
- declare class GuildQueueStatistics<Meta = unknown> {
1349
+ declare class GuildQueueStatistics<Meta = any> {
1278
1350
  queue: GuildQueue<Meta>;
1279
1351
  constructor(queue: GuildQueue<Meta>);
1280
1352
  /**
@@ -1473,7 +1545,7 @@ declare class SyncedLyricsProvider {
1473
1545
  resume(): boolean;
1474
1546
  }
1475
1547
 
1476
- interface GuildNodeInit<Meta = unknown> {
1548
+ interface GuildNodeInit<Meta = any> {
1477
1549
  guild: Guild;
1478
1550
  queueStrategy: QueueStrategy;
1479
1551
  equalizer: EqualizerBand[] | boolean;
@@ -1506,8 +1578,12 @@ interface GuildNodeInit<Meta = unknown> {
1506
1578
  disableFilterer: boolean;
1507
1579
  disableBiquad: boolean;
1508
1580
  disableResampler: boolean;
1581
+ disableCompressor: boolean;
1582
+ disableReverb: boolean;
1583
+ disableSeeker: boolean;
1509
1584
  disableFallbackStream: boolean;
1510
1585
  enableStreamInterceptor: boolean;
1586
+ verifyFallbackStream: boolean;
1511
1587
  }
1512
1588
  interface VoiceConnectConfig {
1513
1589
  deaf?: boolean;
@@ -1639,6 +1715,26 @@ declare const GuildQueueEvent: {
1639
1715
  * Emitted when a queue is trying to add similar track for autoplay
1640
1716
  */
1641
1717
  readonly WillAutoPlay: "willAutoPlay";
1718
+ /**
1719
+ * Emitted when sample rate is updated
1720
+ */
1721
+ readonly SampleRateUpdate: "sampleRateUpdate";
1722
+ /**
1723
+ * Emitted when a named sample rate filter is updated
1724
+ */
1725
+ readonly SampleRateFilterUpdate: "sampleRateFilterUpdate";
1726
+ /**
1727
+ * Emitted when reverb filter is updated
1728
+ */
1729
+ readonly ReverbUpdate: "reverbUpdate";
1730
+ /**
1731
+ * Emitted when compressor filter is updated
1732
+ */
1733
+ readonly CompressorUpdate: "compressorUpdate";
1734
+ /**
1735
+ * Emitted when seek is performed
1736
+ */
1737
+ readonly PlayerSeek: "playerSeek";
1642
1738
  };
1643
1739
  type GuildQueueEvent = (typeof GuildQueueEvent)[keyof typeof GuildQueueEvent];
1644
1740
  declare enum TrackSkipReason {
@@ -1827,6 +1923,40 @@ interface GuildQueueEvents<Meta = any> {
1827
1923
  * @param done Done callback
1828
1924
  */
1829
1925
  [GuildQueueEvent.WillAutoPlay]: (queue: GuildQueue<Meta>, tracks: Track[], done: (track: Track | null) => void) => unknown;
1926
+ /**
1927
+ * Emitted when sample rate is updated
1928
+ * @param queue The queue where this event occurred
1929
+ * @param oldRate The old sample rate
1930
+ * @param newRate The new sample rate
1931
+ */
1932
+ [GuildQueueEvent.SampleRateUpdate]: (queue: GuildQueue<Meta>, oldRate: number, newRate: number) => unknown;
1933
+ /**
1934
+ * Emitted when a named sample rate filter is updated
1935
+ * @param queue The queue where this event occurred
1936
+ * @param oldRate The old sample rate filter
1937
+ * @param newRate The new sample rate filter
1938
+ */
1939
+ [GuildQueueEvent.SampleRateFilterUpdate]: (queue: GuildQueue<Meta>, oldFilter: CommonResamplerFilterPreset | null, newFilter: CommonResamplerFilterPreset | null) => unknown;
1940
+ /**
1941
+ * Emitted when reverb filter is updated
1942
+ * @param queue The queue where this event occurred
1943
+ * @param oldFilter The old reverb filter
1944
+ * @param newFilter The new reverb filter
1945
+ */
1946
+ [GuildQueueEvent.ReverbUpdate]: (queue: GuildQueue<Meta>, oldFilter: ReverbParameters | null, newFilter: ReverbParameters | null) => unknown;
1947
+ /**
1948
+ * Emitted when compressor filter is updated
1949
+ * @param queue The queue where this event occurred
1950
+ * @param oldFilter The old compressor filter
1951
+ * @param newFilter The new compressor filter
1952
+ */
1953
+ [GuildQueueEvent.CompressorUpdate]: (queue: GuildQueue<Meta>, oldFilter: CompressorParameters | null, newFilter: CompressorParameters | null) => unknown;
1954
+ /**
1955
+ * Emitted when seek is performed
1956
+ * @param queue The queue where this event occurred
1957
+ * @param position The seek position
1958
+ */
1959
+ [GuildQueueEvent.PlayerSeek]: (queue: GuildQueue<Meta>, parameters: SeekerParameters) => unknown;
1830
1960
  }
1831
1961
  /**
1832
1962
  * The queue repeat mode. This can be one of:
@@ -1854,7 +1984,7 @@ declare const QueueRepeatMode: {
1854
1984
  readonly AUTOPLAY: 3;
1855
1985
  };
1856
1986
  type QueueRepeatMode = (typeof QueueRepeatMode)[keyof typeof QueueRepeatMode];
1857
- declare class GuildQueue<Meta = unknown> {
1987
+ declare class GuildQueue<Meta = any> {
1858
1988
  #private;
1859
1989
  player: Player;
1860
1990
  options: GuildNodeInit<Meta>;
@@ -2016,6 +2146,18 @@ declare class GuildQueue<Meta = unknown> {
2016
2146
  * @param track The track to remove
2017
2147
  */
2018
2148
  removeTrack(track: TrackResolvable): Track<unknown> | null;
2149
+ /**
2150
+ * Prepends a track or track resolvable to the queue
2151
+ * @param track The track resolvable to insert
2152
+ * @param index The index to insert the track at (defaults to 0). If > 0, the inserted track will be placed before the track at the given index.
2153
+ */
2154
+ prepend(track: Track | Queue<Track> | Array<Track>, index?: number): void;
2155
+ /**
2156
+ * Appends a track or track resolvable to the queue
2157
+ * @param track The track resolvable to insert
2158
+ * @param index The index to insert the track at (defaults to 0). If > 0, the inserted track will be placed after the track at the given index.
2159
+ */
2160
+ append(track: Track | Queue<Track> | Array<Track>, index?: number): void;
2019
2161
  /**
2020
2162
  * Inserts the track to the given index
2021
2163
  * @param track The track to insert
@@ -2112,7 +2254,7 @@ declare class GuildQueue<Meta = unknown> {
2112
2254
  get hasDebugger(): boolean;
2113
2255
  }
2114
2256
 
2115
- interface GuildNodeCreateOptions<T = unknown> {
2257
+ interface GuildNodeCreateOptions<T = any> {
2116
2258
  strategy?: QueueStrategy;
2117
2259
  volume?: number;
2118
2260
  equalizer?: EqualizerBand[];
@@ -2144,13 +2286,17 @@ interface GuildNodeCreateOptions<T = unknown> {
2144
2286
  disableFilterer?: boolean;
2145
2287
  disableBiquad?: boolean;
2146
2288
  disableResampler?: boolean;
2289
+ disableCompressor?: boolean;
2290
+ disableSeeker?: boolean;
2291
+ disableReverb?: boolean;
2147
2292
  disableFallbackStream?: boolean;
2148
2293
  enableStreamInterceptor?: boolean;
2294
+ verifyFallbackStream?: boolean;
2149
2295
  }
2150
2296
  type NodeResolvable = GuildQueue | GuildResolvable;
2151
- declare class GuildNodeManager<Meta = unknown> {
2297
+ declare class GuildNodeManager<Meta = any> {
2152
2298
  player: Player;
2153
- cache: Collection<string, GuildQueue<unknown>>;
2299
+ cache: Collection<string, GuildQueue<any>>;
2154
2300
  constructor(player: Player);
2155
2301
  /**
2156
2302
  * Create guild queue if it does not exist
@@ -2636,7 +2782,7 @@ declare const PlayerEvent: {
2636
2782
  readonly VoiceStateUpdate: "voiceStateUpdate";
2637
2783
  };
2638
2784
  type PlayerEvent = (typeof PlayerEvent)[keyof typeof PlayerEvent];
2639
- interface PlayerNodeInitializationResult<T = unknown> {
2785
+ interface PlayerNodeInitializationResult<T = any> {
2640
2786
  track: Track;
2641
2787
  extractor: BaseExtractor | null;
2642
2788
  searchResult: SearchResult;
@@ -2714,7 +2860,7 @@ declare class Player extends PlayerEventsEmitter<PlayerEvents> {
2714
2860
  /**
2715
2861
  * The player nodes (queue) manager
2716
2862
  */
2717
- nodes: GuildNodeManager<unknown>;
2863
+ nodes: GuildNodeManager<any>;
2718
2864
  /**
2719
2865
  * The voice api utilities
2720
2866
  */
@@ -2764,7 +2910,7 @@ declare class Player extends PlayerEventsEmitter<PlayerEvents> {
2764
2910
  /**
2765
2911
  * Alias to `Player.nodes`.
2766
2912
  */
2767
- get queues(): GuildNodeManager<unknown>;
2913
+ get queues(): GuildNodeManager<any>;
2768
2914
  /**
2769
2915
  * Event loop latency in ms. If your bot is laggy and this returns a number above 20ms for example,
2770
2916
  * some expensive task is being executed on the current thread which is slowing down the event loop.
@@ -2876,7 +3022,7 @@ declare class Player extends PlayerEventsEmitter<PlayerEvents> {
2876
3022
  * @returns {string}
2877
3023
  */
2878
3024
  scanDeps(): string;
2879
- [Symbol.iterator](): Generator<GuildQueue<unknown>, void, undefined>;
3025
+ [Symbol.iterator](): Generator<GuildQueue<any>, void, undefined>;
2880
3026
  /**
2881
3027
  * Creates `Playlist` instance
2882
3028
  * @param data The data to initialize a playlist
@@ -3301,7 +3447,7 @@ declare class Util {
3301
3447
  static randomChoice<T>(src: T[]): T;
3302
3448
  static arrayCloneShuffle<T>(src: T[]): T[];
3303
3449
  }
3304
- declare const VALIDATE_QUEUE_CAP: (queue: GuildQueue, items: Playlist | Track | Track[]) => void;
3450
+ declare const VALIDATE_QUEUE_CAP: (queue: GuildQueue, items: Playlist | Track | Track[] | number) => void;
3305
3451
 
3306
3452
  declare class DiscordPlayerError extends Error {
3307
3453
  readonly code: ErrorCodes;
@@ -3415,4 +3561,4 @@ declare const DependencyReportGenerator: {
3415
3561
 
3416
3562
  declare const version: string;
3417
3563
 
3418
- export { AFilterGraph, AsyncQueue, type AsyncQueueAcquisitionOptions, AsyncQueueEntry, type AsyncQueueExceptionHandler, AudioFilters, BaseExtractor, Context, type ContextReceiver, type CreateStreamOps, type DependenciesReport, DependencyReportGenerator, DiscordPlayerQueryResultCache, type Encodable, EqualizerConfigurationPreset, ExtractorExecutionContext, type ExtractorExecutionEvents, type ExtractorExecutionFN, type ExtractorExecutionResult, type ExtractorInfo, type ExtractorResolvable, type ExtractorSearchContext, type ExtractorSession, type ExtractorStreamable, FFMPEG_ARGS_PIPED, FFMPEG_ARGS_STRING, FFMPEG_SRATE_REGEX, FFmpegFilterer, type FFmpegReport, type FFmpegStreamOptions, type FilterGraph, type FiltersName, type GuildNodeCreateOptions, type GuildNodeInit, GuildNodeManager, GuildQueue, type GuildQueueAFiltersCache, GuildQueueAudioFilters, GuildQueueEvent, type GuildQueueEvents, GuildQueueHistory, GuildQueuePlayerNode, GuildQueueStatistics, type GuildQueueStatisticsMetadata, type GuildQueueTimeline, InterceptedStream, type LrcGetParams, type LrcGetResult, LrcLib, type LrcSearchParams, type LrcSearchResult, type MaybeNull, type MetadataDispatch, type NextFunction, type NodeResolvable, type OnAfterCreateStreamHandler, type OnBeforeCreateStreamHandler, type OnInterceptedStreamHandler, type PackageJSON, type PlayOptions, Player, PlayerEvent, type PlayerEvents, PlayerEventsEmitter, type PlayerInitOptions, type PlayerNodeInitializationResult, type PlayerNodeInitializerOptions, type PlayerProgressbarOptions, type PlayerSearchResult, PlayerStreamInterceptor, type PlayerStreamInterceptorOptions, type PlayerTimestamp, type PlayerTriggeredReason, Playlist, type PlaylistInitData, type PlaylistJSON, type PostProcessedResult, QueryCache, type QueryCacheOptions, type QueryCacheProvider, type QueryCacheResolverContext, type QueryExtractorSearch, QueryResolver, QueryType, type QueueFilters, QueueRepeatMode, type RawTrackData, type RequestEntity, type ResolvedQuery, type ResourcePlayOptions, type Runtime, type RuntimeType, type SearchOptions, type SearchQueryType, SearchResult, type SearchResultData, SequentialBucket, type SerializedPlaylist, type SerializedTrack, SerializedType, type SetterFN$1 as SetterFN, type ShouldInterceptFunction, type SkipOptions, type StreamConfig, StreamDispatcher, type TimeData, type TimelineDispatcherOptions, Track, type TrackJSON, type TrackLike, type TrackResolvable, TrackSkipReason, type TrackSource, TypeUtil, Util, VALIDATE_QUEUE_CAP, type VoiceConnectConfig, type VoiceEvents, type VoiceStateHandler, VoiceUtils, type WithMetadata, createContext, createErisCompat, createFFmpegStream, decode, deserialize, encode, isErisProxy, onAfterCreateStream, onBeforeCreateStream, serialize, tryIntoThumbnailString, useContext, useHistory, useMainPlayer, useMetadata, usePlayer, useQueue, useTimeline, useVolume, version };
3564
+ export { AFilterGraph, AsyncQueue, type AsyncQueueAcquisitionOptions, AsyncQueueEntry, type AsyncQueueExceptionHandler, AudioFilters, BaseExtractor, Context, type ContextReceiver, type CreateStreamOps, type DependenciesReport, DependencyReportGenerator, DiscordPlayerQueryResultCache, type Encodable, EqualizerConfigurationPreset, ExtractorExecutionContext, type ExtractorExecutionEvents, type ExtractorExecutionFN, type ExtractorExecutionResult, type ExtractorInfo, type ExtractorResolvable, type ExtractorSearchContext, type ExtractorSession, type ExtractorStreamable, FFMPEG_ARGS_PIPED, FFMPEG_ARGS_STRING, FFMPEG_SRATE_REGEX, FFmpegFilterer, type FFmpegReport, type FFmpegStreamOptions, type FilterGraph, type FiltersName, type GuildNodeCreateOptions, type GuildNodeInit, GuildNodeManager, GuildQueue, type GuildQueueAFiltersCache, GuildQueueAudioFilters, GuildQueueEvent, type GuildQueueEvents, GuildQueueHistory, GuildQueuePlayerNode, GuildQueueStatistics, type GuildQueueStatisticsMetadata, type GuildQueueTimeline, InterceptedStream, type LrcGetParams, type LrcGetResult, LrcLib, type LrcSearchParams, type LrcSearchResult, type MaybeNull, type MetadataDispatch, type NextFunction, type NodeResolvable, type OnAfterCreateStreamHandler, type OnBeforeCreateStreamHandler, type OnInterceptedStreamHandler, type PackageJSON, type PlayOptions, Player, PlayerEvent, type PlayerEvents, PlayerEventsEmitter, type PlayerInitOptions, type PlayerNodeInitializationResult, type PlayerNodeInitializerOptions, type PlayerProgressbarOptions, type PlayerSearchResult, PlayerStreamInterceptor, type PlayerStreamInterceptorOptions, type PlayerTimestamp, type PlayerTriggeredReason, Playlist, type PlaylistInitData, type PlaylistJSON, type PostProcessedResult, QueryCache, type QueryCacheOptions, type QueryCacheProvider, type QueryCacheResolverContext, type QueryExtractorSearch, QueryResolver, QueryType, type QueueFilters, QueueRepeatMode, type RawTrackData, type RequestEntity, type ResolvedQuery, type ResourcePlayOptions, type Runtime, type RuntimeType, type SearchOptions, type SearchQueryType, SearchResult, type SearchResultData, SequentialBucket, type SerializedPlaylist, type SerializedTrack, SerializedType, type SetterFN$1 as SetterFN, type ShouldInterceptFunction, type SkipOptions, type StreamConfig, StreamDispatcher, type TimeData, type TimelineDispatcherOptions, Track, type TrackJSON, type TrackLike, type TrackResolvable, TrackSkipReason, type TrackSource, TypeUtil, Util, VALIDATE_QUEUE_CAP, type VoiceConnectConfig, type VoiceEvents, type VoiceStateHandler, VoiceUtils, type WithMetadata, createContext, createErisCompat, createFFmpegStream, createOceanicCompat, decode, deserialize, encode, isErisProxy, isOceanicProxy, onAfterCreateStream, onBeforeCreateStream, serialize, tryIntoThumbnailString, useContext, useHistory, useMainPlayer, useMetadata, usePlayer, useQueue, useTimeline, useVolume, version };