import EventEmitter from "node:events";
export declare class FFMPEGRecorder extends EventEmitter {
    private onEnd;
    private command;
    private streamManager;
    private timeoutChecker;
    hasSegment: boolean;
    getSavePath: (data: {
        startTime: number;
    }) => string;
    segment: number;
    ffmpegOutputOptions: string[];
    inputOptions: string[];
    isHls: boolean;
    disableDanma: boolean;
    url: string;
    constructor(opts: {
        url: string;
        getSavePath: (data: {
            startTime: number;
        }) => string;
        segment: number;
        outputOptions: string[];
        inputOptions?: string[];
        isHls?: boolean;
        disableDanma?: boolean;
        videoFormat?: "auto" | "ts" | "mkv";
    }, onEnd: (...args: unknown[]) => void);
    private createCommand;
    formatLine(line: string): {
        time: string | null;
    } | null;
    run(): void;
    getArguments(): string[];
    stop(): Promise<void>;
    getExtraDataController(): import("./record_extra_data_controller.js").RecordExtraDataController | null;
}
