import { type MediaParserLogLevel } from '@remotion/media-parser'; import type { ConvertMediaVideoCodec } from './get-available-video-codecs'; import type { IoSynchronizer } from './io-manager/io-synchronizer'; import type { WebCodecsController } from './webcodecs-controller'; export type WebCodecsVideoEncoder = { encode: (videoFrame: VideoFrame) => void; waitForFinish: () => Promise; close: () => void; flush: () => Promise; ioSynchronizer: IoSynchronizer; }; export declare const createVideoEncoder: ({ onChunk, onError, controller, config, logLevel, outputCodec, keyframeInterval, }: { onChunk: (chunk: EncodedVideoChunk, metadata: EncodedVideoChunkMetadata | null) => Promise; onError: (error: Error) => void; controller: WebCodecsController; config: VideoEncoderConfig; logLevel: MediaParserLogLevel; outputCodec: ConvertMediaVideoCodec; keyframeInterval: number; }) => WebCodecsVideoEncoder;