/**
 * Copyright (c) 2020-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
 *
 * @author David Sehnal <david.sehnal@gmail.com>
 */
import { Viewport } from '../../mol-canvas3d/camera/util.js';
import { ImagePass } from '../../mol-canvas3d/passes/image.js';
import { PluginStateAnimation } from '../../mol-plugin-state/animation/model.js';
import { PluginContext } from '../../mol-plugin/context.js';
import { RuntimeContext } from '../../mol-task/index.js';
import { Color } from '../../mol-util/color/index.js';
export interface Mp4EncoderParams<A extends PluginStateAnimation = PluginStateAnimation> {
    pass: ImagePass;
    customBackground?: Color;
    animation: PluginStateAnimation.Instance<A>;
    width: number;
    height: number;
    viewport: Viewport;
    /** default is 30 */
    fps?: number;
    /** Number from 10 (best quality, slowest) to 51 (worst, fastest) */
    quantizationParameter?: number;
}
export declare function encodeMp4Animation<A extends PluginStateAnimation>(plugin: PluginContext, ctx: RuntimeContext, params: Mp4EncoderParams<A>): Promise<Uint8Array<ArrayBuffer>>;
