import type { API, CharacteristicValue, HAP, Logging, PlatformAccessory, Service } from 'homebridge'; import type { CloudflaredTunnelPlatform } from '../Platform.HAP.js'; import type { CloudflaredTunnelPlatformConfig, devicesConfig } from '../settings.js'; export declare abstract class deviceBase { protected readonly platform: CloudflaredTunnelPlatform; protected accessory: PlatformAccessory; protected device: any; readonly api: API; readonly log: Logging; readonly config: CloudflaredTunnelPlatformConfig; protected readonly hap: HAP; protected deviceLogging: string; protected deviceFirmwareVersion: string; constructor(platform: CloudflaredTunnelPlatform, accessory: PlatformAccessory, device: any); getDeviceLogSettings(device: devicesConfig): Promise; getDeviceConfigSettings(device: devicesConfig): Promise; getDeviceContext(accessory: PlatformAccessory, device: devicesConfig): Promise; /** * Update the characteristic value and log the change. * * @param Service Service * @param Characteristic Characteristic * @param CharacteristicValue CharacteristicValue | undefined * @param CharacteristicName string * @return: void * */ updateCharacteristic(Service: Service, Characteristic: any, CharacteristicValue: CharacteristicValue | undefined, CharacteristicName: string): Promise; /** * Logging for Device */ 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; /** * ⚠️ True in a normal install, because 'debugMode' means "let Homebridge * decide" rather than "debug is on". Only ever gate 'log.debug' on this. * * Gating 'log.warn', 'log.error' or 'log.success' on it prints those lines to * everyone, since Homebridge shows those levels whatever its debug setting - * which is exactly what happened to three of the helpers above (#243). */ loggingIsDebug(): Promise; enablingDeviceLogging(): Promise; } //# sourceMappingURL=device.d.ts.map