import { AudioRangeExportOptions, AudioExtensions, ExportOptions, ExportResult, MediaExtensions } from '../../index'; import { FFmpeg as RootFFmpeg } from '../../libs/ffmpeg'; declare enum AudioMixResults { SUCCESS = "success", ERROR = "error", NO_OUTPUT = "no_output" } export declare class Renderer { private static readonly AUDIO_MIX_SAMPLE_RATE; private rendering; private isBackgrounded; private isCanceled; private watermarkSprite; private audioWorker; private originalWidth; private originalHeight; private originalResolution; private ensureWorkerDir; private mountMediaInWorker; constructor(); destroy(): void; private visibilityChangeHandler; private residentTimeout; isRendering(): boolean; /** * Cancels the current render. * * Returns a promise that is resolved when the render is canceled or times out (10 seconds). * If the render is not currently running, the promise is resolved immediately. * If the render times out, the promise is rejected with an error. */ cancelExport(): Promise; private generateAudioMixWorker; private buildATempoChain; private getMixedAudioOutputPath; private getAudioMixSamplePosition; private generateAudioMix; private glClientWaitAsync; private getBufferSubDataAsync; private readPixelsAsync; private flipPixelsYInPlace; private waitForClipsProcessing; private preRender; private postRender; private resetAfterAudioOnlyRender; private getAudioMimeType; private buildRangeAwareFadeInFilter; private buildRangeAwareFadeOutFilter; renderAudioRange(payload: AudioRangeExportOptions): Promise; private sleep; render(payload?: ExportOptions): Promise; render_with_frames(payload?: ExportOptions): Promise; muxVideo(ffmpeg: RootFFmpeg, mixGenerated: AudioMixResults, extension: MediaExtensions, audioExtension: AudioExtensions): Promise; muxChunkedVideo(ffmpeg: RootFFmpeg, mixGenerated: AudioMixResults, extension: MediaExtensions, audioExtension: AudioExtensions, from: number, to: number, outputFiles: string[]): Promise; } export {};