import { API, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service, Characteristic } from 'homebridge';
import RFXCom from 'rfxcom';
import { CustomPlatformConfig } from './definitions/interfaces';
export declare class HomebridgePlatform implements DynamicPlatformPlugin {
    readonly log: Logger;
    readonly config: PlatformConfig;
    readonly api: API;
    rfxCom: typeof RFXCom;
    readonly Service: typeof Service;
    readonly Characteristic: typeof Characteristic;
    readonly accessories: PlatformAccessory[];
    customConfig: CustomPlatformConfig;
    /**
     *
     * @param {Logger} log
     * @param {PlatformConfig} config
     * @param {API} api
     */
    constructor(log: Logger, config: PlatformConfig, api: API);
    /**
     *
     * @param {PlatformAccessory} accessory
     */
    configureAccessory(accessory: PlatformAccessory): void;
    initRfxCom(): void;
    listenRfxCom(): Promise<void>;
    discoverDevices(): void;
    /**
     * @param {Device} device
     * @param {PlatformAccessory} accessory
     * @private
     */
    private instanceAccessory;
}
//# sourceMappingURL=platform.d.ts.map