import { Characteristic, CharacteristicValue, Logger, PlatformAccessory, Service, WithUUID } from 'homebridge'; import { SmartThingsPlatform } from './smartThingsPlatform.js'; import { SmartThingsClient, Device, Component, CapabilityStatus, Capability } from '@smartthings/core-sdk'; /** * Class implements a base class for SmartThings accessories. */ export declare abstract class SmartThingsAccessory { protected readonly device: Device; protected readonly component: Component; protected readonly client: SmartThingsClient; protected readonly platform: SmartThingsPlatform; protected readonly accessory: PlatformAccessory; private readonly log; protected constructor(device: Device, component: Component, client: SmartThingsClient, platform: SmartThingsPlatform, accessory: PlatformAccessory, log: Logger); /** * Executes the command of the capability passed in using the arguments passed in. * Handles error values returned by api. * * @param capability the capability identifier * @param command the command identifier * @param args the command arguments */ protected executeCommand(capability: string, command: string, args?: (string | number | object)[]): Promise; /** * Returns the status of the capability passed in. * Handles error values returned by api. * * @param capability the capability identifier * @param log flag to turn logging on/off * @returns the capability status or undefined for errors returned by API */ protected getCapabilityStatus(capability: string, log?: boolean): Promise; /** * Starts polling the status of the capability passed in using the parameters passed in. * Must only be used on capabilities that are not updated cyclical automatically. * * @param capability the capability that will be updated * @param service the service containing the characteristic * @param characteristic the characteristic that will be updated * @param getter the function to be used to get the new value * @param interval the interval in milliseconds (if set to undefined polling will not be started) */ protected startStatusPolling Characteristic>>(capability: string, service: Service, characteristic: T, getter: () => Promise, interval: number | undefined): void; protected logCapabilityRegistration(capability: Capability): void; protected logCapabilityState(capability: Capability): void; protected logInfo(message: string, ...parameters: unknown[]): void; protected logWarn(message: string, ...parameters: unknown[]): void; protected logError(message: string, ...parameters: unknown[]): void; protected logDebug(message: string, ...parameters: unknown[]): void; }