import type { Client } from 'discord.js';
import { Shoukaku, type Node } from 'shoukaku';
import type { MusicConfig } from '../types';
import { Logger } from '../utils/Logger';
export declare class MusicManager {
    readonly client: Client;
    readonly config: MusicConfig;
    readonly logger: Logger;
    shoukaku: Shoukaku;
    /** Opcjonalne – na teraz nie tworzymy instancji Kazagumo (brak zewn. konektora), ale zostawiamy pole na przyszłość */
    kazagumo?: unknown;
    private _ready;
    constructor(client: Client, config: MusicConfig, logger?: Logger);
    /**
     * Inicjalizacja Shoukaku + eventy
     */
    init(): Promise<void>;
    /** Czy został w pełni przygotowany */
    isReady(): boolean;
    /** Czy w użyciu jest Kazagumo (obecnie nie tworzymy instancji – zwróci false) */
    isKazagumo(): boolean;
    /** Lista node’ów wraz ze stanem */
    getNodesStatus(): Array<{
        name: string;
        state: Node['state'];
    }>;
    /** Syntactic sugar – nazwy node’ów */
    getNodeNames(): string[];
    /**
     * Zamyka połączenia i sprząta eventy
     */
    destroy(): Promise<void>;
}
export default MusicManager;
//# sourceMappingURL=MusicManager.d.ts.map