import type { API, DynamicPlatformPlugin, Logger, PlatformAccessory, Service, Characteristic } from 'homebridge';
import type { IConfig } from './IConfig';
/**
 * 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 default class AirportExpressConnectedPlatform implements DynamicPlatformPlugin {
    readonly log: Logger;
    config: IConfig;
    readonly api: API;
    readonly accessories: PlatformAccessory[];
    readonly characteristic: typeof Characteristic;
    readonly service: typeof Service;
    constructor(log: Logger, config: IConfig, api: API);
    /**
     * 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;
    /**
     * This is an example method showing how to register discovered accessories.
     * Accessories must only be registered once, previously created accessories
     * must not be registered again to prevent "duplicate UUID" errors.
     */
    private discoverDevices;
    private evalBlackWhiteList;
    private loadCachedDevices;
    private processConfiguration;
}
//# sourceMappingURL=airportExpressConnectedPlatform.d.ts.map