import { API, Characteristic, DynamicPlatformPlugin, Logger, PlatformAccessory, Service } from "homebridge"; import { BaseAccessory } from "./accessories"; import { TuyaWebConfig } from "./config"; import { TuyaWebApi } from "./api/service"; import { Cache } from "./helpers/cache"; export declare type HomebridgeAccessory = PlatformAccessory> & { controller?: BaseAccessory; }; /** * 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 TuyaWebPlatform implements DynamicPlatformPlugin { readonly log: Logger; readonly config: TuyaWebConfig; readonly api: API; readonly Service: typeof Service; readonly Characteristic: typeof Characteristic; readonly accessories: Map; private readonly pollingInterval?; readonly tuyaWebApi: TuyaWebApi; private failedToInitAccessories; constructor(log: Logger, config: TuyaWebConfig, api: API); private postLaunchSetup; /** * This function is invoked when homebridge restores cached accessories from disk at startup. * It should be used to setup event handlers for characteristics and update respective values. */ configureAccessory(accessory: PlatformAccessory): void; removeAccessory(accessory: PlatformAccessory): void; registerPlatformAccessory(accessory: PlatformAccessory): void; private refreshDeviceStates; private addAccessory; private filterDeviceList; discoverDevices(): Promise; /** * Returns a validated set of defaults and their devices for which the type will need to be overridden. * @param devices * @private */ private applyConfigOverwrites; /** * Returns a list of all allowed scene Ids. * @param devices * @private */ private getAllowedSceneIds; /** * Returns a list of all devices that are not supposed to be exposed. * @param devices * @private */ private getHiddenAccessoryIds; get platformAccessory(): typeof PlatformAccessory; get generateUUID(): (BinaryLike: any) => string; } //# sourceMappingURL=platform.d.ts.map