/// import { downloadOptions } from 'ytdl-core'; import { User } from 'discord.js'; import { Readable, Duplex } from 'stream'; export interface PlayerOptions { leaveOnEnd?: boolean; leaveOnEndCooldown?: number; leaveOnStop?: boolean; leaveOnEmpty?: boolean; leaveOnEmptyCooldown?: number; autoSelfDeaf?: boolean; enableLive?: boolean; ytdlDownloadOptions?: downloadOptions; useSafeSearch?: boolean; disableAutoRegister?: boolean; disableArtistSearch?: boolean; } export declare type FiltersName = keyof QueueFilters; export declare type TrackSource = 'soundcloud' | 'youtube' | 'arbitrary'; export interface TrackData { title: string; description: string; author: string; url: string; thumbnail: string; duration: string; views: number; requestedBy: User; fromPlaylist: boolean; source?: TrackSource; engine?: any; live?: boolean; } export declare type QueueFilters = { bassboost?: boolean; '8D'?: boolean; vaporwave?: boolean; nightcore?: boolean; phaser?: boolean; tremolo?: boolean; vibrato?: boolean; reverse?: boolean; treble?: boolean; normalizer?: boolean; surrounding?: boolean; pulsator?: boolean; subboost?: boolean; karaoke?: boolean; flanger?: boolean; gate?: boolean; haas?: boolean; mcompand?: boolean; mono?: boolean; mstlr?: boolean; mstrr?: boolean; compressor?: boolean; expander?: boolean; softlimiter?: boolean; chorus?: boolean; chorus2d?: boolean; chorus3d?: boolean; fadein?: boolean; }; export declare type QueryType = 'soundcloud_track' | 'soundcloud_playlist' | 'spotify_song' | 'spotify_album' | 'spotify_playlist' | 'youtube_video' | 'youtube_playlist' | 'vimeo' | 'facebook' | 'reverbnation' | 'attachment' | 'youtube_search'; export interface ExtractorModelData { title: string; duration: number; thumbnail: string; engine: string | Readable | Duplex; views: number; author: string; description: string; url: string; version?: string; important?: boolean; } export interface PlayerProgressbarOptions { timecodes?: boolean; queue?: boolean; length?: number; line?: string; indicator?: string; } export interface LyricsData { title: string; id: number; thumbnail: string; image: string; url: string; artist: { name: string; id: number; url: string; image: string; }; lyrics?: string; } export interface PlayerStats { uptime: number; connections: number; users: number; queues: number; extractors: number; versions: { ffmpeg: string; node: string; v8: string; }; system: { arch: string; platform: 'aix' | 'android' | 'darwin' | 'freebsd' | 'linux' | 'openbsd' | 'sunos' | 'win32' | 'cygwin' | 'netbsd'; cpu: number; memory: { total: string; usage: string; rss: string; arrayBuffers: string; }; uptime: number; }; } export interface TimeData { days: number; hours: number; minutes: number; seconds: number; }