import { EventEmitter } from 'node:events'; import { CharacteristicType, ResourceRequestType, ServiceType } from './interfaces.js'; import { HapMonitor } from './monitor.js'; export * from './interfaces.js'; export interface Config { debug?: boolean; instanceBlacklist?: string[]; discoveryTimeout?: number; autoStartDiscovery?: boolean; } export declare class HapClient extends EventEmitter { private bonjour; private browser; private discoveryInProgress; private readonly defaultDiscoveryTimeout; private readonly defaultAutoStartDiscovery; private readonly logger; private readonly pin; private readonly debugEnabled; private config; private instances; private hiddenServices; private hiddenCharacteristics; private resetInstancePoolTimeout; private startDiscoveryTimeout; private hapMonitor; constructor(opts: { pin: string; logger?: any; config: any; }); private logMessage; debug(msg: string): void; info(msg: string): void; warn(msg: string): void; error(msg: string): void; resetInstancePool(): void; refreshInstances(): void; startDiscovery(discoveryTimeout?: number): void; stopDiscovery(): void; private checkInstanceConnection; private getAccessories; monitorCharacteristics(services?: ServiceType[]): Promise; getAllServices(): Promise; getService(iid: number): Promise; getServiceByName(serviceName: string): Promise; refreshServiceCharacteristics(service: ServiceType): Promise; getCharacteristic(service: ServiceType, iid: number): Promise; setCharacteristicByType(service: ServiceType, type: string, value: number | string | boolean): Promise; setCharacteristic(service: ServiceType, iid: number, value: number | string | boolean): Promise; setCharacteristicsByTypes(service: ServiceType, payload: Record): Promise; setCharacteristics(service: ServiceType, characteristics: { aid: number; iid: number; value: string | number | boolean; }[]): Promise; getResource(service: ServiceType, body: ResourceRequestType): Promise; private humanizeString; destroy(): void; }