import { CharacteristicValue, PlatformAccessory, Service, WithUUID } from 'homebridge'; import { VirtualAccessoriesPlatform } from '../platform.js'; import { AccessoryConfiguration } from '../configuration/configurationAccessory.js'; import { Accessory } from './accessory.js'; import { OpenableAccessoryConfiguration } from '../configuration/configurationOpenableAccesory.js'; /** * PositionAccessory - Abstract accessory */ export declare abstract class PositionAccessory extends Accessory { private static readonly MIN_TIMEOUT_SECS; private static readonly DEFAULT_TIMEOUT_SECS; private readonly stateStorageKey; private transitionTimer; private transitionSteps; private openableAccessoryConfiguration; constructor(platform: VirtualAccessoriesPlatform, accessory: PlatformAccessory, accessoryConfiguration: AccessoryConfiguration, serviceType: WithUUID); getCurrentPositionHandler(): Promise; getTargetPositionHandler(): Promise; setTargetPositionHandler(value: CharacteristicValue): Promise; getPositionStateHandler(): Promise; protected getJsonState(): string; protected abstract getOpenableAccessoryConfiguration(): OpenableAccessoryConfiguration; static get CLOSED(): number; static get OPEN(): number; static get DECREASING(): number; static get INCREASING(): number; static get STOPPED(): number; static getPositionName(position: number): string; static getPositionStateName(state: number): string; }