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 _keyframes; private _lastKeyframeTime; private _pendingDiscontinuity; private _segmentLength; private eventHandlers; private livestream?; private readonly log; private readonly protectCamera; private rtspEntry?; private segmentCount; constructor(protectCamera: ProtectCamera); private configureTimeshiftBuffer; start(rtspEntry: RtspEntry): Promise; stop(): boolean; restart(): void; private clearBuffer; transmitStart(startIndex?: number): Promise; transmitStop(): boolean; isInitSegment(segment: Buffer): boolean; getInitSegment(): Promise>; getLast(duration: number): Nullable; getLastKeyframe(): Nullable; getKeyframeAlignedStart(prebufferMs: number): { seekOffsetMs: number; startIndex: number; } | null; get buffer(): Nullable; get isRestarting(): boolean; get isStarted(): boolean; get isTransmitting(): boolean; get time(): number; get configuredDuration(): number; set configuredDuration(bufferMillis: number); get segmentLength(): number; }