import { DynamicPlatformPlugin, PlatformAccessory, PlatformConfig, Characteristic, Service, Logger, API } from 'homebridge';
import VeSyncAccessory from './VeSyncAccessory';
import VeSyncFan from './api/VeSyncFan';
import DebugMode from './debugMode';
export interface VeSyncContext {
    name: string;
    device: VeSyncFan;
}
export type VeSyncPlatformAccessory = PlatformAccessory<VeSyncContext>;
export default class Platform implements DynamicPlatformPlugin {
    readonly log: Logger;
    readonly config: PlatformConfig;
    readonly api: API;
    readonly Service: typeof Service;
    readonly Characteristic: typeof Characteristic;
    readonly cachedAccessories: VeSyncPlatformAccessory[];
    readonly registeredDevices: VeSyncAccessory[];
    readonly debugger: DebugMode;
    private readonly client;
    constructor(log: Logger, config: PlatformConfig, api: API);
    configureAccessory(accessory: VeSyncPlatformAccessory): void;
    discoverDevices(): Promise<void>;
    private loadDevice;
    private checkOldDevices;
}
//# sourceMappingURL=platform.d.ts.map