import type { API, DynamicPlatformPlugin, HAP, Logging, PlatformAccessory } from 'homebridge'; import type { HttpClient } from './http-client.js'; import type { accessoryAttribute, devicesConfig, location, locations, options, resideoDevice, ResideoPlatformConfig, sensorAccessory, T9groups } from './settings.js'; export declare class ResideoPlatform implements DynamicPlatformPlugin { accessories: PlatformAccessory[]; readonly api: API; readonly log: Logging; protected readonly hap: HAP; config: ResideoPlatformConfig; sensorData: never[]; refreshInterval: any; locations?: locations; sensorAccessory: sensorAccessory; firmware: accessoryAttribute['softwareRevision']; platformConfig: ResideoPlatformConfig; platformLogging: options['logging']; platformRefreshRate: options['refreshRate']; platformPushRate: options['pushRate']; platformUpdateRate: options['updateRate']; platformMaxRetries: options['maxRetries']; platformDelayBetweenRetries: options['delayBetweenRetries']; debugMode: boolean; version: string; action: string; httpClient: HttpClient; constructor(log: Logging, config: ResideoPlatformConfig, api: API); configureAccessory(accessory: PlatformAccessory): void; verifyConfig(): void; refreshAccessToken(): Promise; getAccessToken(): Promise; updateRefreshToken(newRefreshToken: string): Promise; discoverlocations(): Promise; getCurrentSensorData(location: location, device: resideoDevice & devicesConfig, group: T9groups): Promise; private normalizeSensorDate; getSoftwareRevision(location: location, device: resideoDevice & devicesConfig): Promise; protected discoverDevices(): Promise; protected mergeByDeviceID(a1: { deviceID: string; }[], a2: any[]): any[]; private deviceClass; private discoverRoomSensors; private roomsensordisplaymethod; private createThermostat; private createLeak; private createValve; private createRoomSensors; private createRoomSensorThermostat; registerDevice(device: resideoDevice & devicesConfig): Promise; private leaksensorFirmwareNewAccessory; private leaksensorFirmwareExistingAccessory; private valveFirmwareNewAccessory; private valveFirmwareExistingAccessory; private roomsensorFirmwareNewAccessory; private roomsensorFirmwareExistingAccessory; thermostatFirmwareNewAccessory(device: resideoDevice & devicesConfig, accessory: PlatformAccessory, location: any): Promise; thermostatFirmwareExistingAccessory(device: resideoDevice & devicesConfig, existingAccessory: PlatformAccessory, location: any): Promise; externalOrPlatform(device: resideoDevice & devicesConfig, accessory: PlatformAccessory): Promise; externalAccessory(accessory: PlatformAccessory): Promise; unregisterPlatformAccessories(existingAccessory: PlatformAccessory): void; apiError(e: any): void; statusCode(statusCode: number, action: string): Promise; getPlatformLogSettings(): Promise; getPlatformRateSettings(): Promise; getPlatformConfigSettings(): Promise; /** * Asynchronously retrieves the version of the plugin from the package.json file. * * This method reads the package.json file located in the parent directory, * parses its content to extract the version, and logs the version using the debug logger. * The extracted version is then assigned to the `version` property of the class. * * @returns {Promise} A promise that resolves when the version has been retrieved and logged. */ getVersion(): Promise; /** * Validate and clean a string value for a Name Characteristic. * @param displayName - The display name of the accessory. * @param name - The name of the characteristic. * @param value - The value to be validated and cleaned. * @returns The cleaned string value. */ validateAndCleanDisplayName(displayName: string, name: string, value: string): Promise; /** * If device level logging is turned on, log to log.warn * Otherwise send debug logs to log.debug */ infoLog(...log: any[]): Promise; successLog(...log: any[]): Promise; debugSuccessLog(...log: any[]): Promise; warnLog(...log: any[]): Promise; debugWarnLog(...log: any[]): Promise; errorLog(...log: any[]): Promise; debugErrorLog(...log: any[]): Promise; debugLog(...log: any[]): Promise; loggingIsDebug(): Promise; enablingPlatformLogging(): Promise; } //# sourceMappingURL=Platform.HAP.d.ts.map