import { API, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service, Characteristic } from 'homebridge';
import { Settings } from './models/Settings';
import { RinnaiService } from './rinnai/RinnaiService';
import { AccessoryService } from './accessories/AccessoryService';
import { MqttService } from './mqtt/MqttService';
import { PushoverService } from './services/PushoverService';
import { TemperatureService } from './services/TemperatureService';
export type devices = {
    controllers: string[];
} & ({
    heat: string[];
} | {
    heat: string[];
    cool: string[];
} | {
    heat: string[];
    evap: string[];
} | {
    evap: string[];
});
export declare class RinnaiTouchPlatform implements DynamicPlatformPlugin {
    readonly log: Logger;
    readonly config: PlatformConfig;
    readonly api: API;
    private deletedAccessories;
    readonly Service: typeof Service;
    readonly Characteristic: typeof Characteristic;
    readonly settings: Settings;
    readonly service: RinnaiService;
    readonly accessoryService: AccessoryService;
    readonly mqttService: MqttService;
    readonly pushoverService: PushoverService;
    readonly temperatureService: TemperatureService;
    private _serviceInitialised;
    private _serviceInitialising;
    constructor(log: Logger, config: PlatformConfig, api: API);
    configureAccessory(platformAccessory: PlatformAccessory): Promise<void>;
    private initService;
    discoverDevices(): Promise<void>;
    private getDevices;
    private findDevices;
    private displayDevices;
}
//# sourceMappingURL=platform.d.ts.map