/// <reference types="node" />
/// <reference types="node" />
/// <reference types="node" />
import { ChildProcess } from 'child_process';
import EventEmitter from 'events';
import { Server } from 'net';
import { MP4Atom } from './RecordingDelegate';
import type { Logger } from 'homebridge';
interface PrebufferFmp4 {
    atom: MP4Atom;
    time: number;
}
export interface Mp4Session {
    server: Server;
    process: ChildProcess;
}
export declare class PreBuffer {
    prebufferFmp4: PrebufferFmp4[];
    events: EventEmitter<[never]>;
    released: boolean;
    ftyp?: MP4Atom;
    moov?: MP4Atom;
    idrInterval: number;
    prevIdr: number;
    prebufferSession?: Mp4Session;
    private readonly log;
    private readonly ffmpegInput;
    private readonly cameraName;
    private readonly ffmpegPath;
    constructor(ffmpegInput: string[], cameraName: string, videoProcessor: string, log: Logger);
    startPreBuffer(): Promise<Mp4Session>;
    getVideo(requestedPrebuffer: number): Promise<string[]>;
}
export {};
//# sourceMappingURL=Prebuffer.d.ts.map