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 { UpdatableMeasurementSensor } from './updatableSensor.js'; /** * Sensor - Abstract accessory */ export declare abstract class MeasurementSensor extends Accessory implements UpdatableMeasurementSensor { private readonly stateStorageKey; protected MeasurementCharacteristic: WithUUID<{ new (): Characteristic; }>; protected SensorUnits: string; constructor(platform: VirtualAccessoriesPlatform, accessory: PlatformAccessory, accessoryConfiguration: AccessoryConfiguration, serviceType: WithUUID, measurementCharacteristic: WithUUID<{ new (): Characteristic; }>); getSensorValue(): number; getMeasurementHandler(): Promise; protected abstract getDefaultValue(): number; protected getJsonState(): string; abstract updateMeasurementSensor(value: number, accessoryId: string): void; }