/// import { PlatformAccessory, Characteristic, CharacteristicValue, Service, WithUUID, Logger, API } from 'homebridge'; import axios = require('axios'); import { IKHomeBridgeHomebridgePlatform } from './platform'; import { ShortEvent } from './webhook/subscriptionHandler'; import { Command } from './services/smartThingsCommand'; /** * Platform Accessory * An instance of this class is created for each accessory your platform registers * Each accessory may expose multiple services of different service types. */ export declare class MultiServiceAccessory { components: { componentId: string; capabilities: string[]; status: Record; }[]; /** * These are just used to create a working example * You should implement your own code to track the state of your accessory */ private services; private static capabilityMap; private static comboCapabilityMap; protected accessory: PlatformAccessory; protected platform: IKHomeBridgeHomebridgePlatform; readonly name: string; protected characteristic: typeof Characteristic; protected log: Logger; protected baseURL: string; protected key: string; protected axInstance: axios.AxiosInstance; protected commandURL: string; protected statusURL: string; protected healthURL: string; protected api: API; protected online: boolean; protected deviceStatusTimestamp: number; protected failureCount: number; protected giveUpTime: number; protected commandInProgress: boolean; protected lastCommandCompleted: number; protected statusQueryInProgress: boolean; protected lastStatusResult: boolean; get id(): string; constructor(platform: IKHomeBridgeHomebridgePlatform, accessory: PlatformAccessory); private registerServiceIfMatchesCapabilities; addComponent(componentId: string, capabilities: string[]): void; isOnline(): boolean; static capabilitySupported(capability: string): boolean; refreshStatus(): Promise; forceNextStatusRefresh(): void; startPollingState(pollSeconds: number, getValue: () => Promise, service: Service, chracteristic: WithUUID Characteristic>, targetStateCharacteristic?: WithUUID Characteristic>, getTargetState?: () => Promise): NodeJS.Timer | void; sendCommand(capability: string, command: string, args?: unknown[]): Promise; sendCommands(commands: Command[]): Promise; private waitFor; processEvent(event: ShortEvent): void; } //# sourceMappingURL=multiServiceAccessory.d.ts.map