/// import { PlatformAccessory, Logger, API, Characteristic, CharacteristicValue, Service, WithUUID } from 'homebridge'; import axios = require('axios'); import { IKHomeBridgeHomebridgePlatform } from './platform'; import { ShortEvent } from './webhook/subscriptionHandler'; type DeviceStatus = { timestamp: number; status: any; }; /** * 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 abstract class BasePlatformAccessory { /** * These are just used to create a working example * You should implement your own code to track the state of your accessory */ 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 deviceStatus: DeviceStatus; 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); abstract processEvent(event: ShortEvent): void; protected refreshStatus(): Promise; protected 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; private waitFor; } export {}; //# sourceMappingURL=basePlatformAccessory.d.ts.map