import type { CameraController, PrepareStreamCallback, PrepareStreamRequest, SnapshotRequest, SnapshotRequestCallback, StreamRequestCallback, StreamingRequest } from "homebridge"; import { FfmpegOptions, type HomebridgePluginLogging, type HomebridgeStreamingDelegate, type Nullable } from "homebridge-plugin-utils"; import type { ProtectCamera } from "./devices/index.js"; import type { ProtectPlatform } from "./protect-platform.js"; import { ProtectRecordingDelegate } from "./protect-record.js"; export declare class ProtectStreamingDelegate implements HomebridgeStreamingDelegate { private readonly api; controller: CameraController; readonly ffmpegOptions: FfmpegOptions; private readonly hap; hksv: Nullable; readonly log: HomebridgePluginLogging; private readonly nvr; private ongoingSessions; private pendingSessions; readonly platform: ProtectPlatform; readonly protectCamera: ProtectCamera; private probesizeOverride; private probesizeOverrideCount; private probesizeOverrideTimeout?; private snapshot; verboseFfmpeg: boolean; private abTest; constructor(protectCamera: ProtectCamera, resolutions: [number, number, number][]); handleSnapshotRequest(request?: SnapshotRequest, callback?: SnapshotRequestCallback): Promise; prepareStream(request: PrepareStreamRequest, callback: PrepareStreamCallback): Promise; private startStream; handleStreamRequest(request: StreamingRequest, callback: StreamRequestCallback): Promise; stopStream(sessionId: string): void; shutdown(): void; ffmpegErrorCheck(stderrLog: string[]): string | undefined; adjustProbeSize(): void; get probesize(): number; }