export interface NativeAudio { configure(options: ConfigureOptions): Promise; preload(options: PreloadOptions): Promise; play(options: { assetId: string; time: number; }): Promise; pause(options: { assetId: string; }): Promise; resume(options: { assetId: string; }): Promise; loop(options: { assetId: string; }): Promise; stop(options: { assetId: string; }): Promise; unload(options: { assetId: string; }): Promise; setVolume(options: { assetId: string; volume: number; }): Promise; getCurrentTime(options: { assetId: string; }): Promise<{ currentTime: number; }>; getDuration(options: { assetId: string; }): Promise<{ duration: number; }>; isPlaying(options: { assetId: string; }): Promise<{ isPlaying: boolean; }>; playQueue(options: { id: string; tracks: QueueTrack[]; startTrackId: string; startTime: number; trailingTime: number; timerUpdateInterval: number; volume: number; useFade: boolean; loop: boolean; }): Promise; pauseQueue(options: { id: string; }): Promise; resumeQueue(options: { id: string; }): Promise; isQueuePlaying(options: { id: string; }): Promise<{ isQueuePlaying: boolean; }>; isQueuePaused(options: { id: string; }): Promise<{ isQueuePaused: boolean; }>; seekQueue(options: { id: string; time: number; }): Promise; playNextQueueTrack(id: string): Promise; playPreviousQueueTrack(id: string): Promise; getQueueTrackCurrentTime(id: string): Promise; getQueuePlayingIndex(options: { id: string; }): Promise; getQueuePlayingTrackId(options: { id: string; }): Promise; setQueueLoopIndex(options: { id: string; index: number; set: boolean; }): Promise; setQueueVolume(options: { id: string; volume: number; }): Promise; updateQueue(options: { id: string; tracks: QueueTrack[]; }): Promise; queueHasTrackWith(options: { id: string; url: string; }): Promise<{ has: boolean; }>; unloadQueue(options: { id: string; }): Promise; setSleepTimer(options: { time: number; }): Promise; cancelSleepTimer(options: {}): Promise; requestNotificationPermission(options: { mode: number; text: string; positiveText: string; negativeText: string; }): Promise<{ acquired: boolean; }>; } export interface ConfigureOptions { fade?: boolean; focus?: boolean; } export interface PreloadOptions { assetPath: string; assetId: string; volume?: number; audioChannelNum?: number; isUrl?: boolean; } export interface QueueTrack { id: string; url: string; name: string; isMusic: boolean; forcePlay: boolean; }