/// import { API, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig } from 'homebridge'; import { EventCharacteristic, HAPEvent, Homebridge } from './types'; import { IoTClient } from '@aws-sdk/client-iot'; import { IoTDataPlaneClient } from '@aws-sdk/client-iot-data-plane'; import EventEmitter from 'events'; import { Accessory } from 'hap-nodejs'; import { MqttClient } from 'mqtt/types/lib/client'; declare type DeviceFilter = { readonly name: string; readonly displayCategory: string; }; declare type PluginConfig = { readonly pin: string; readonly debug: boolean; readonly awsRegion: string; readonly awsIamAccessKey: string; readonly awsIamSecret: string; readonly iotIdentifier: string; readonly iotEndpoint: string; readonly deviceFilterList: ReadonlyArray; } & PlatformConfig; /** * HomebridgePlatform * This class is the main constructor for your plugin, this is where you should * parse the user config and discover/register accessories with Homebridge. */ export declare class AwsIotHomebridgePlatform implements DynamicPlatformPlugin { readonly log: Logger; readonly config: PlatformConfig; readonly api: API; configureAccessory(accessory: PlatformAccessory): void; readonly co: PluginConfig; readonly iotClient: IoTClient | null; readonly iotDataplaneClient: IoTDataPlaneClient | null; readonly eventBus: EventEmitter; private readonly hapClient; private readonly thingMap; readonly mqttClient: MqttClient | null; readonly deviceFilterList: Map; constructor(log: Logger, config: PlatformConfig, api: API); getUrlSignatureOptions(): { host: string; region: string; username: string; password: string; }; handleMqttMessage(topic: string, payload: Buffer): Promise; handleHomebridgeDiscovery(homebridges: ReadonlyArray): Promise; getCharacteristicsForEvents(accessory: Accessory): ReadonlyArray; registerForEvents(homebridge: Homebridge, characteristics: ReadonlyArray): void; hapEvent(events: Array): Promise; json(data: any): string; } export {}; //# sourceMappingURL=platform.d.ts.map