import { API, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig } from 'homebridge';
import { Data } from './DataDomain';
import { AccessoryContext } from './AccessoryDomain';
export declare const PLATFORM_NAME = "Nibe";
export declare const PLUGIN_NAME = "homebridge-nibe";
/**
 * 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 NibePlatform implements DynamicPlatformPlugin {
    private readonly log;
    private readonly config;
    private readonly api;
    private readonly dataFetcher;
    private readonly accessories;
    private readonly accessoryDefinitions;
    private readonly locale;
    private readonly serviceResolver;
    constructor(log: Logger, config: PlatformConfig, api: API);
    handleData(data: Data): void;
    private createAccessory;
    private updateAccessory;
    private isDisabled;
    private removeNotExistingAccessories;
    /**
     * 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<AccessoryContext>): void;
}
