/// <reference types="node" />
import { EventEmitter } from 'events';
import { pageScreenFrame, VideoOptions } from './StreamTypes';
/**
 * @ignore
 */
export default class FFMPEGStreamWriter extends EventEmitter {
    private readonly streamBatchSize;
    private screencastFrames;
    private lastProcessedFrame;
    duration: string;
    private status;
    private options;
    private videoMediatorStream;
    private writerPromise;
    constructor(savePath: string, options?: VideoOptions);
    private get videoFrameSize();
    private getFFMPEGPath;
    private configureFFMPEGPath;
    private configureVideoFile;
    private handleWriteStreamError;
    private findVacantIndexInScreencastFrames;
    insert(frame: pageScreenFrame): void;
    private trimFrames;
    private processFramesAndWrite;
    write(data: Buffer): void;
    private drainFrames;
    stop(): Promise<boolean>;
}
