///
import { EventEmitter } from "node:events";
import { MoonlinkManager, MoonlinkQueue, MoonlinkNode, MoonlinkTrack, MoonlinkFilters } from "../../index";
import { MoonlinkWebSocket } from "../@Services/MoonlinkWebSocket";
import { IPlayerData, connectOptions } from "../@Typings";
export declare class MoonlinkPlayer {
manager: MoonlinkManager;
guildId: string;
textChannel: string;
voiceChannel: string;
voiceRegion: string;
autoPlay: boolean | null;
autoLeave: boolean | null;
connected: boolean | null;
playing: boolean | null;
paused: boolean | null;
loop: number | null;
volume: number;
ping: number;
queue: MoonlinkQueue;
filters: MoonlinkFilters;
current: Record;
previous: MoonlinkTrack[] | MoonlinkTrack | Record;
data: Record;
node: MoonlinkNode | any;
voiceReceiverWs: MoonlinkWebSocket | any;
constructor(data: IPlayerData);
set(key: string, value: unknown): void;
get(key: string): T;
setTextChannel(channelId: string): boolean;
setVoiceChannel(channelId: string): boolean;
setAutoLeave(mode?: boolean | null): boolean | null;
setAutoPlay(mode: boolean): boolean;
connect(options: connectOptions): boolean | null;
disconnect(): boolean;
restart(): Promise;
play(track?: MoonlinkTrack | string): Promise;
pause(): Promise;
resume(): Promise;
private updatePlaybackStatus;
stop(destroy?: boolean): Promise;
skip(position?: number): Promise;
setVolume(percent: number): Promise;
setLoop(mode: number | string | null): number | string | null;
destroy(): Promise;
private validateNumberParam;
seek(position: number): Promise;
shuffle(): boolean;
transferNode(node: MoonlinkNode | string): Promise;
listenVoice(): EventEmitter | boolean;
stopListeningVoice(): void;
}