interface MediaReaderOptions { playbackRate?: number; startTime?: number; duration?: number; volume?: number; } export declare class MediaReader { static videos: { [path: string]: HTMLVideoElement; }; static videoPreloadTask: { [path: string]: Promise; }; static readers: MediaReader[]; static preload(clipAssetPath: string): Promise; static Make(filePath: string): MediaReader; static MakeFromBytes(bytesOffset: number, length: number): MediaReader; path: string; videoEl: HTMLVideoElement; width: number; height: number; contentTime: number; textureId: number; texture: any; released: boolean; playbackRate: number; alwaysPause: boolean; volume: number; adjustRange: number; /** * Browser, it will be 1 in WeChat reader */ type: number; useCount: number; private isPaused; private startTime; private duration; private resetTask; private constructor(); decodeAudio(): Promise; updateSize(): void; renderToTexture(GL: any, textureId: any): void; setOptions(options: MediaReaderOptions): void; getNearestKeyFrame(time: number): number; seekToSync(contentTime: number): void; pause(): Promise; continue(): void; seekTo(contentTime: number, forceSeek?: boolean): Promise; reset(): void; release(): void; reuse(): void; onMediaTimeUpdate: () => void; private checkEndTimeAndPause; } export {};