import { EvolavaClient } from "./EvolavaClient";
import { EvoLavaNode } from "./EvoLavaNode";
import { VoiceChannel, GuildMember } from "@evolvejs/evolvejs";
import { Track } from "src/interfaces/Track";
import { Playlist } from "src/interfaces/Playlist";
import { PlayerOptions } from "src/interfaces/PlayerOptions";
import { QueueOptions } from "src/interfaces/QueueOptions";
import { Queue } from "./EvoLavaQueue";
export declare class EvolavaPlayer {
    evolava: EvolavaClient;
    options: PlayerOptions;
    queueOption: QueueOptions;
    node: EvoLavaNode;
    readonly queue: Queue;
    state: boolean;
    position: number;
    volume: number;
    paused: boolean;
    constructor(evolava: EvolavaClient, options: PlayerOptions, queueOption: QueueOptions, node: EvoLavaNode);
    get playing(): boolean;
    movePlayer(channel: VoiceChannel): void;
    play(): void;
    search(query: string, user: GuildMember, options: {
        source?: "yt" | "sc";
        add?: boolean;
    }): Promise<Track[] | Playlist>;
    stop(): void;
    pause(): void;
    resume(): void;
    seek(position: number): void;
    setVolume(volume?: number): void;
    destroy(): void;
}
