import { RenderProgress, RenderToVideoOptions } from "./renderTimegroupToVideo.types.js";
import { EFTimegroup } from "../elements/EFTimegroup.js";
import { AudioCodec, QUALITY_HIGH } from "mediabunny";

//#region src/preview/renderTimegroupToVideo.d.ts

declare class NoSupportedAudioCodecError extends Error {
  constructor(requestedCodecs: AudioCodec[], availableCodecs: AudioCodec[]);
}
declare class RenderCancelledError extends Error {
  constructor();
}
declare function getSupportedAudioCodecs(options?: {
  numberOfChannels?: number;
  sampleRate?: number;
  bitrate?: number;
}): Promise<AudioCodec[]>;
/**
 * Renders a timegroup to an MP4 video file.
 *
 * Uses the EXACT same code path as thumbnail generation (captureFromClone).
 * This ensures consistency - if thumbnails work, video export works.
 */
declare function renderTimegroupToVideo(timegroup: EFTimegroup, options?: RenderToVideoOptions): Promise<Uint8Array | undefined>;
//#endregion
export { type AudioCodec, NoSupportedAudioCodecError, QUALITY_HIGH, RenderCancelledError, type RenderProgress, type RenderToVideoOptions, getSupportedAudioCodecs, renderTimegroupToVideo };
//# sourceMappingURL=renderTimegroupToVideo.d.ts.map