export declare const useMusicManager: () => {
    musicState: import("vue").Ref<{
        isPlaying: boolean;
        currentMusicId: number | string | null;
        audioElement: HTMLAudioElement | null;
        isGlobalMusic: boolean;
        attemptedAutoplay: boolean;
        volume: number;
        pendingPlay: boolean;
        canPlay: boolean;
    }>;
    playMusic: (musicData: {
        url: string;
        music_id?: string;
        id?: string;
        isGlobal?: boolean;
        loop?: boolean;
    }, isUserAction?: boolean) => Promise<boolean>;
    pauseCurrentMusic: () => void;
    pauseNonGlobalMusic: () => void;
    toggleMusic: (musicData: {
        url: string;
        music_id?: string;
        id?: string;
        isGlobal?: boolean;
        loop?: boolean;
    }) => Promise<boolean>;
    resetMusicState: () => void;
    getCurrentMusicState: () => {
        isPlaying: boolean;
        isGlobal: boolean;
        musicId: string | number | null;
        pendingPlay: boolean;
        volume: number;
        canPlay: boolean;
    };
    tryPlayPendingMusic: () => Promise<boolean>;
    setVolume: (volume: number) => void;
    playOnInteraction: () => Promise<boolean>;
    attemptAutoplay: (musicData: {
        url: string;
        music_id?: string;
        id?: string;
        isGlobal?: boolean;
        loop?: boolean;
    }) => Promise<void>;
};
