import Chaimu from "./client.js"; import { FetchFunction, FetchOpts } from "./types/controller.js"; export declare const videoLipSyncEvents: string[]; export declare function initAudioContext(): AudioContext | undefined; export declare class BasePlayer { static name: string; chaimu: Chaimu; fetch: FetchFunction; _src?: string; fetchOpts?: FetchOpts; constructor(chaimu: Chaimu, src?: string); init(): Promise; clear(): Promise; lipSync(_mode?: false | string): this; handleVideoEvent: (event: Event) => this; removeVideoEvents(): this; addVideoEvents(): this; play(): Promise; pause(): Promise; get name(): string; set src(url: string | undefined); get src(): string | undefined; get currentSrc(): unknown; set volume(_value: number); get volume(): number; get playbackRate(): number; set playbackRate(_value: number); get currentTime(): number; } export declare class AudioPlayer extends BasePlayer { static name: string; audio: HTMLAudioElement; gainNode: GainNode | undefined; audioSource: MediaElementAudioSourceNode | undefined; constructor(chaimu: Chaimu, src?: string); initAudioBooster(): this; private disconnectAudioNodes; protected updateAudio(): this; init(): Promise; audioErrorHandle: (e: DOMException) => void; lipSync(mode?: false | string): this; clear(): Promise; syncPlay(): this; play(): Promise; pause(): Promise; set src(url: string | undefined); get src(): string | undefined; get currentSrc(): string; set volume(value: number); get volume(): number; get playbackRate(): number; set playbackRate(value: number); get currentTime(): number; } export declare class ChaimuPlayer extends BasePlayer { static name: string; audioBuffer: AudioBuffer | undefined; audioElement: HTMLAudioElement | undefined; mediaElementSource: MediaElementAudioSourceNode | undefined; gainNode: GainNode | undefined; blobUrl: string | undefined; private isClearing; private isInitializing; private clearingPromise; fetchAudio(): Promise; initAudioBooster(): this; private disconnectAudioNodes; init(): Promise; protected createAudioElement(): void; lipSync(mode?: false | string): this; reopenCtx(): Promise; clear(): Promise; start(): Promise; pause(): Promise; play(): Promise; set src(url: string | undefined); get src(): string | undefined; get currentSrc(): string | undefined; set volume(value: number); get volume(): number; set playbackRate(value: number); get playbackRate(): number; get currentTime(): number; } //# sourceMappingURL=player.d.ts.map