import type { SnapshotRequest } from "homebridge"; import { type HomebridgePluginLogging, type Nullable } from "homebridge-plugin-utils"; import type { ProtectCamera } from "./devices/index.js"; import type { ProtectPlatform } from "./protect-platform.js"; export declare class ProtectSnapshot { private _cachedSnapshot; private _snapshotInFlight; private readonly api; private readonly hap; readonly log: HomebridgePluginLogging; private readonly nvr; readonly platform: ProtectPlatform; readonly protectCamera: ProtectCamera; constructor(protectCamera: ProtectCamera); getSnapshot(request?: SnapshotRequest): Promise>; private acquireSnapshot; private snapFromTimeshift; private snapFromRtsp; private snapFromFfmpeg; private cropSnapshot; private get cachedSnapshot(); }