import type { HomebridgePluginLogging, Nullable } from "homebridge-plugin-utils";
import type { ProtectCameraHost } from "./camera-host.ts";
import type { SnapshotRequest } from "homebridge";
export declare class ProtectSnapshot {
    private _cachedSnapshot;
    private _snapshotInFlight;
    readonly log: HomebridgePluginLogging;
    readonly protectCamera: ProtectCameraHost;
    constructor(protectCamera: ProtectCameraHost);
    getSnapshot(request?: SnapshotRequest): Promise<Nullable<Buffer>>;
    private acquireSnapshot;
    private snapFromTimeshift;
    private snapFromRtsp;
    private snapFromController;
    private snapFromFfmpeg;
    private cropSnapshot;
    private get cachedSnapshot();
}
//# sourceMappingURL=snapshot.d.ts.map