import type { ProtectAccessory, WithoutIdentity } from "../types.ts";
import type { ProtectViewerConfig, Viewer } from "unifi-protect";
import { ProtectDevice } from "./device.ts";
import type { ProtectNvr } from "../nvr/nvr.ts";
export declare class ProtectViewer extends ProtectDevice {
    protected readonly device: Viewer;
    constructor(nvr: ProtectNvr, accessory: ProtectAccessory, device: Viewer);
    get ufp(): Readonly<WithoutIdentity<ProtectViewerConfig>>;
    private get activeLiveview();
    private configureDevice;
    updateDevice(configureHandlers?: boolean): string[];
    private updateLiveviewSwitchState;
    private configureLiveviewSwitch;
    private getLiveviewSwitchState;
    private setLiveviewSwitchState;
    private addLiveviewSwitch;
    private setViewer;
    private configureMqtt;
    protected spawnObservers(): void;
}
//# sourceMappingURL=viewer.d.ts.map