/// export declare namespace HAP { interface Accessory { UUID: string; displayName: string; category: number; services: Service[]; on(...args: any[]): void; getService(...args: any[]): Service; addService(...args: any[]): Service; removeService(...args: any[]): void; getServiceByUUIDAndSubType(...args: any[]): Service; updateReachability(reachable: boolean): void; setCharacteristic(...args: any[]): Service; configureCameraSource(cameraSource: any): void; } interface Service { AccessoryInformation: void; displayName?: string; UUID: string; subtype?: string; setCharacteristic(...args: any[]): Service; getCharacteristic(...args: any[]): Characteristic; } interface Characteristic { [key: string]: any; on(eventType: 'get', callback: (err: any, value: any) => void): Characteristic; on(eventType: 'set', handler: (value: any, callback: (err?: Error) => void) => void): Characteristic; updateValue(newValue: boolean | string | number, callback?: () => void, context?: any): Characteristic; } interface Log { (...args: any[]): void; error(...args: any[]): void; debug(...args: any[]): void; info(...args: any[]): void; } interface AccessoryConfig { [key: string]: any; } interface Platform { on(...args: any[]): void; registerPlatformAccessories(pluginName: string, platformName: string, accessories: Accessory[]): void; unregisterPlatformAccessories(pluginName: string, platformName: string, accessories: Accessory[]): void; publishCameraAccessories(pluginName: string, accessories: Accessory[]): void; } } declare class Hap { PlatformAccessory: new (displayName: string, uuid: string, category: number) => HAP.Accessory; Service: { [key: string]: any; }; Characteristic: { [key: string]: any; }; UUIDGen: { generate(input: string): string; unparse(input: Buffer): string; }; AccessoryCategories: { [key: string]: number; }; StreamController: any; } export declare const hap: Hap; export {};