import type { CameraRecordingConfiguration, CameraRecordingDelegate, RecordingPacket } from "homebridge"; import { type Nullable } from "homebridge-plugin-utils"; import type { ProtectCamera, RtspEntry } from "./devices/index.js"; import { HDSProtocolSpecificErrorReason } from "homebridge"; import { ProtectTimeshiftBuffer } from "./protect-timeshift.js"; export declare class ProtectRecordingDelegate implements CameraRecordingDelegate { private _isRecording; private _isTransmitting; private abortController?; private readonly accessory; private readonly api; private eventId; private ffmpegStream?; private readonly hap; private isInitialized; private lastPacingDelay; private lastStreamId; private readonly log; private maxPacingDelay; private pacingStartTime; private readonly protectCamera; private recordingConfig?; rtspEntry: Nullable; private segmentWriter?; readonly timeshift: ProtectTimeshiftBuffer; private timeshiftedSegments; private transmitListener?; private transmittedSegments; constructor(protectCamera: ProtectCamera); updateRecordingActive(active: boolean): Promise; updateRecordingConfiguration(configuration: CameraRecordingConfiguration | undefined): void; handleRecordingStreamRequest(_streamId: number, signal: AbortSignal): AsyncGenerator; acknowledgeStream(): void; closeRecordingStream(streamId: number, reason?: HDSProtocolSpecificErrorReason): void; configureTimeshifting(): Promise; private startTransmitting; private stopTransmitting; get isAudioActive(): boolean; get isTransmitting(): boolean; get isRecording(): boolean; get recordingConfiguration(): Nullable; }