import { FFmpeg as RootFFmpeg } from '../../libs/ffmpeg'; import { FFMessageLoadConfig } from '../../libs/ffmpeg/types'; /** * Singleton wrapper that initializes and manages the SDK's FFmpeg runtime. */ declare class FFmpeg { private static instance; private readonly ffmpeg; private coreURL; private wasmURL; private constructor(); /** * Returns the shared FFmpeg wrapper instance. * * @returns The singleton FFmpeg wrapper. */ static getInstance(): FFmpeg; /** * Loads the FFmpeg runtime from the supplied asset URLs. * * @param config FFmpeg core and WASM asset URLs. * @returns A promise that resolves after FFmpeg has been loaded. */ initialize(config: FFMessageLoadConfig): Promise; /** * Returns the underlying low-level FFmpeg instance. * * @returns The root FFmpeg instance. */ getFFmpeg(): RootFFmpeg; /** * Returns the blob URL currently used for the FFmpeg core script. * * @returns The FFmpeg core URL. */ getCoreURL(): string; /** * Returns the blob URL currently used for the FFmpeg WASM binary. * * @returns The FFmpeg WASM URL. */ getWasmURL(): string; /** * Creates a separate low-level FFmpeg instance using the already loaded runtime assets. * * @returns A promise that resolves to a loaded FFmpeg instance, or `null` if loading fails. */ createCustomInstance(): Promise; /** * Reloads the current FFmpeg instance using the stored runtime asset URLs. * * @returns A promise that resolves after FFmpeg has been reloaded. */ reload(): Promise; /** * Terminates the loaded FFmpeg instance and clears the singleton reference. * * @returns Nothing. */ destroy(): void; } export { FFmpeg };