import type { PlatformAccessory, Service } from "homebridge"; import type { ProtectCameraConfig, ProtectEventPacket } from "unifi-protect"; import { ProtectCamera } from "./protect-camera.js"; import type { ProtectNvr } from "../protect-nvr.js"; interface MessageInterface { duration: number; text: string; type: string; } export interface MessageSwitchInterface extends MessageInterface { service: Service; state: boolean; } export declare class ProtectDoorbell extends ProtectCamera { private chimeDigitalDuration; private defaultMessageDuration; private isMessagesEnabled; private isMessagesFromControllerEnabled; constructor(nvr: ProtectNvr, device: ProtectCameraConfig, accessory: PlatformAccessory); protected configureDevice(): boolean; cleanup(): void; private configureDoorbellLcdSwitch; private configurePackageCamera; private configurePhysicalChimes; private configureProtectChimeLightbulb; private configureAuthSensor; protected configureMqtt(): boolean; updateDevice(): boolean; private getPhysicalChimeDuration; private getMessages; private validateMessageSwitches; private updateLcdSwitch; private setMessage; protected eventHandler(packet: ProtectEventPacket): void; protected addEventHandler(packet: ProtectEventPacket): void; private nvrEventHandler; private chimeEventHandler; private get chimeVolume(); private setChimeVolume; } export {};