import { S as SearchOptions, a as SearchResult } from '../index-DSel44Ke.js';
export { f as MetingService, g as MikuMusicService, b as MusicApiResponse, M as MusicTrack, e as createLyricHandler, c as createSearchHandler, d as createSongUrlHandler, h as mikuMusicService, m as musicService } from '../index-DSel44Ke.js';

interface MusicPlayerState {
    isPlaying: boolean;
    currentTime: number;
    duration: number;
    volume: number;
    isLoading: boolean;
    error?: string;
}
interface PlayerMusicTrack {
    id: string;
    name: string;
    file: string;
    duration?: number;
    volume?: number;
}
interface MusicPlayerProps {
    track?: PlayerMusicTrack;
    onPlay?: () => void;
    onPause?: () => void;
    onStop?: () => void;
    onVolumeChange?: (volume: number) => void;
    onSeek?: (time: number) => void;
    initialVolume?: number;
    className?: string;
    compact?: boolean;
    ultraCompact?: boolean;
    hideVolumeControl?: boolean;
    showTrackInfo?: boolean;
    isPlaying: boolean;
    currentTime: number;
    duration: number;
    externalVolume?: number;
}

interface MikutapMusicTrack {
    id: string;
    name: string;
    audioUrl: string;
    audioData?: string;
    duration?: number;
}
interface MikutapMusicPlayerProps {
    track?: MikutapMusicTrack;
    onPlay?: () => void;
    onPause?: () => void;
    onSeek?: (time: number) => void;
    className?: string;
    isPlaying: boolean;
    currentTime: number;
    duration: number;
}

declare function useMusic(): {
    search: (options: SearchOptions) => void;
    searchResult: SearchResult | undefined;
    isSearching: boolean;
    searchError: any;
    getSongUrl: (id: string, source?: string) => Promise<string | undefined>;
    getLyric: (id: string, source?: string) => Promise<string | undefined>;
};

interface MusicSourceAdapter {
    parseSearchResult(data: any): SearchResult;
    parseGetSongUrl(data: any): string | null;
    parseGetLyric(data: any): any;
}

declare const kugouAdapter: MusicSourceAdapter;

declare const neteaseAdapter: MusicSourceAdapter;

declare const tencentAdapter: MusicSourceAdapter;

declare const xiamiAdapter: MusicSourceAdapter;

export { type MikutapMusicPlayerProps, type MikutapMusicTrack, type MusicPlayerProps, type MusicPlayerState, type MusicSourceAdapter, type PlayerMusicTrack, SearchOptions, SearchResult, kugouAdapter, neteaseAdapter, tencentAdapter, useMusic, xiamiAdapter };
