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 readonly api;
    private readonly hap;
    readonly log: HomebridgePluginLogging;
    private readonly nvr;
    readonly platform: ProtectPlatform;
    readonly protectCamera: ProtectCamera;
    constructor(protectCamera: ProtectCamera);
    getSnapshot(request?: SnapshotRequest): Promise<Nullable<Buffer>>;
    private snapFromTimeshift;
    private snapFromRtsp;
    private snapFromFfmpeg;
    private cropSnapshot;
    private get cachedSnapshot();
}
