import { API, Characteristic, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service } from 'homebridge';
import { HiveAccessory } from './hivehome/accessories/hiveAccessory';
/**
 * This class is the entry point for the plugin. It is responsible for parsing
 * the user config, discovering accessories, and registering them.
 */
export declare class HiveHomeControllerPlatform implements DynamicPlatformPlugin {
    private readonly logger;
    readonly config: PlatformConfig;
    readonly api: API;
    readonly Service: typeof Service;
    readonly Characteristic: typeof Characteristic;
    readonly cachedAccessories: PlatformAccessory[];
    readonly accessoryHandlers: HiveAccessory[];
    private readonly hiveAccessories;
    constructor(logger: Logger, config: PlatformConfig, api: API);
    private validateConfig;
    /**
     * This function is invoked for each cached accessory that homebridge restores
     * from disk at startup. Here we add the cached accessories to a list which
     * will be examined later during the 'discoverDevices' phase.
     */
    configureAccessory(accessory: PlatformAccessory): void;
    /**
     * Discover and register accessories. Accessories must only be registered
     * once; previously created accessories must not be registered again, to
     * avoid "duplicate UUID" errors.
     */
    private discoverDevices;
}
//# sourceMappingURL=platform.d.ts.map