import { PluginListenerHandle } from '@capacitor/core'; export interface VideoPlayerState { currentMillis?: number; totalMillis?: number; } export interface AudioPlayerState { state?: 'NONE' | 'LOADING' | 'BUFFERING' | 'RUNNING' | 'READY_TO_PLAY' | 'STOPPED'; currentMillis?: number; totalMillis?: number; errorMessage?: string; timestamp?: number; remainingTime?: number; } export interface AudioNotificationOptions { forwardIncrementMs?: number; rewindIncrementMs?: number; } export interface DownloadState { medias: { [key: string]: DownloadStateMediaInfo; }; } export declare enum DownloadStatus { REQUESTED = "REQUESTED", IN_PROGRESS = "IN_PROGRESS", PAUSED = "PAUSED", CANCELED = "CANCELED", COMPLETED = "COMPLETED", DELETED = "DELETED", FAILED = "FAILED" } export interface DownloadStateMediaInfo { status?: DownloadStatus; estimatedSize?: number; maxSize?: number; downloadedBytes?: number; progress?: number; reason?: string; title?: string; id?: string; } export interface BrightcovePlayerPlugin { addListener(eventName: string, listenerFunc: (...args: any) => void): Promise & PluginListenerHandle; removeAllListeners(): Promise; updateBrightcoveAccount(options: { accountId: string; policyKey: string; }): Promise; playVideo(options: { fileId: string; position?: number; local?: boolean; animatedText?: string; }): Promise<{ name: string; duration: number; }>; setSubtitleLanguage(options: { language: string; }): Promise; loadAudio(options: { fileId: string; local?: boolean; }): Promise<{ name?: string; duration?: number; }>; stopAudio(): Promise; pauseAudio(): Promise; playAudio(): Promise; backwardAudio(options: { amount?: number; }): Promise; forwardAudio(options: { amount?: number; }): Promise; seekToAudio(options: { position: number; }): Promise; enableAudioLooping(options?: { time: number; }): Promise; disableAudioLooping(): Promise; isAudioLooping(): Promise<{ value: boolean; }>; getVideoPlayerState(): Promise; getAudioPlayerState(): Promise; destroyAudioPlayer(): Promise; setAudioNotificationOptions(options: AudioNotificationOptions): Promise; isMediaAvailableLocally(options: { fileId: string; }): Promise<{ value: boolean; }>; downloadMedia(options: { fileId: string; }): Promise; getDownloadedMediasState(): Promise<{ medias: Array; }>; deleteDownloadedMedia(options: { fileId: string; }): Promise; notifyBackButtonPressed(): Promise; playInternalAudio(options: { file: string; }): Promise; deleteAllDownloadedMedias(): Promise; }