import DolbyVisionMuxingConfiguration from './DolbyVisionMuxingConfiguration';
import FragmentedMp4MuxingManifestType from './FragmentedMp4MuxingManifestType';
import Muxing from './Muxing';
import MuxingType from './MuxingType';
/**
 * @export
 * @class Mp4Muxing
 */
export declare class Mp4Muxing extends Muxing {
    /**
     * Discriminator property for Muxing
     * @type {string}
     * @memberof Mp4Muxing
     */
    readonly type: MuxingType;
    /**
     * Name of the output file (either `filename` or `name` is required, prefer `filename`)
     * @type {string}
     * @memberof Mp4Muxing
     */
    filename?: string;
    /**
     *  Duration of fragments in milliseconds. Required for Fragmented MP4 Muxing (for Smooth Streaming or DASH On-Demand). Not setting this will result in unfragmented mp4.
     * @type {number}
     * @memberof Mp4Muxing
     */
    fragmentDuration?: number;
    /**
     * Prevents creation of very short fragments (in seconds). If the last fragment is shorter than minimumFragmentDuration or there is a custom keyframe too close to a fragment boundary, short fragments will be omitted by removing fragment boundaries, resulting in a fragment of a size up to fragmentDuration + minimumFragmentDuration.
     * @type {number}
     * @memberof Mp4Muxing
     */
    minimumFragmentDuration?: number;
    /**
     * @type {FragmentedMp4MuxingManifestType}
     * @memberof Mp4Muxing
     */
    fragmentedMP4MuxingManifestType?: FragmentedMp4MuxingManifestType;
    /**
     * Dolby Vision specific configuration
     * @type {DolbyVisionMuxingConfiguration}
     * @memberof Mp4Muxing
     */
    dolbyVisionConfiguration?: DolbyVisionMuxingConfiguration;
    constructor(obj?: Partial<Mp4Muxing>);
}
export default Mp4Muxing;
