import type { Characteristic, CharacteristicValue, PlatformAccessory, Service, WithUUID } from 'homebridge'; import { VirtualAccessoriesPlatform } from '../platform.js'; import { AccessoryConfiguration } from '../configuration/configurationAccessory.js'; import { Accessory } from '../accessories/accessory.js'; import { Trigger } from './triggers/trigger.js'; /** * Sensor - Abstract accessory */ export declare abstract class BinarySensor extends Accessory { static readonly ON: boolean; static readonly OFF: boolean; static readonly NORMAL_INACTIVE: string; static readonly TRIGGERED_ACTIVE: string; private readonly stateStorageKey; protected trigger: Trigger | undefined; protected EventDetectedCharacteristic: WithUUID<{ new (): Characteristic; }>; constructor(platform: VirtualAccessoriesPlatform, accessory: PlatformAccessory, accessoryConfiguration: AccessoryConfiguration, serviceType: WithUUID, eventDetectedCharacteristic: WithUUID<{ new (): Characteristic; }>); getTrigger(): Trigger; getSensorState(): number; getEventDetectedHandler(): Promise; protected getJsonState(): string; /** * This method is called by this sensor's trigger */ triggerSensorState(sensorState: number, trigger: Trigger, isLoggingDisabled?: boolean): Promise; protected saveState(): void; static get NORMAL(): number; static get TRIGGERED(): number; static getStateName(state: number): string; }