///
import { FfmpegConfig, ServerError } from './types';
import { Logger } from 'tslog';
import TypedEmitter from "typed-emitter";
export declare const FfmpegErrors: {
[name: string]: ServerError;
};
export declare type FfmpegEvents = {
error: (error: ServerError) => void;
destroyed: () => void;
ffmpegOutput: (message: string) => void;
};
export declare type FfmpegStatus = {
status: string;
framesSent: number;
lastFrameSentTime?: number;
pid?: number;
options: FfmpegConfig;
};
declare const Ffmpeg_base: new () => TypedEmitter;
export default class Ffmpeg extends Ffmpeg_base {
private options;
private logger;
private process?;
private status;
private framesSent;
private lastFrameSentTime?;
private lastOutput;
constructor(logger: Logger, options: FfmpegConfig);
start(): void;
destroy(): void;
getStatus(): FfmpegStatus;
private emitError;
private onProcessOutput;
private onProcessStdinError;
private onProcessError;
sendData(data: Buffer): Promise;
private getAudioEncoding;
private createOptions;
}
export {};