import { type Nullable } from "homebridge-plugin-utils";
import { EventEmitter } from "node:events";
import type { ProtectCamera } from "./devices/index.js";
import type { RtspEntry } from "./devices/protect-camera.js";
export declare class ProtectTimeshiftBuffer extends EventEmitter {
    private _buffer;
    private _isStarted;
    private _isTransmitting;
    private _segmentLength;
    private readonly accessory;
    private eventHandlers;
    private livestream?;
    private readonly log;
    private readonly nvr;
    private readonly protectCamera;
    private rtspEntry?;
    private segmentCount;
    constructor(protectCamera: ProtectCamera);
    private configureTimeshiftBuffer;
    start(rtspEntry: RtspEntry): Promise<boolean>;
    stop(): boolean;
    restart(): void;
    transmitStart(): Promise<boolean>;
    transmitStop(): boolean;
    isInitSegment(segment: Buffer): boolean;
    getInitSegment(): Promise<Nullable<Buffer>>;
    getLast(duration: number): Nullable<Buffer>;
    get buffer(): Nullable<Buffer>;
    get isRestarting(): boolean;
    get isStarted(): boolean;
    get isTransmitting(): boolean;
    get time(): number;
    get configuredDuration(): number;
    set configuredDuration(bufferMillis: number);
    get segmentLength(): number;
}
