import { DeviceModel } from './models/deviceModel';
import { Observable } from 'rxjs';
import { Logger, PlatformConfig } from 'homebridge';
export declare class iKettleService {
    private readonly log;
    private app;
    private static instance;
    private userCredential;
    constructor(log: Logger);
    static getInstance(log: Logger): iKettleService;
    connect(config: PlatformConfig): Observable<DeviceModel>;
    private getUser;
    private getNetwork;
    getDevice(deviceId: string): Promise<DeviceModel>;
    watchDevice(deviceId: string): Observable<DeviceModel>;
    startBoil(userId: string, deviceId: string): Promise<void>;
    stopBoil(userId: string, deviceId: string): Promise<void>;
    setBoilTemp(userId: string, deviceId: string, temp: number): Promise<void>;
    setManualBoilTemp(userId: string, deviceId: string, temp: number): Promise<void>;
    setFormulaMode(userId: string, deviceId: string, value: boolean): Promise<void>;
    setFormulaModeTemperature(userId: string, deviceId: string, temp: number): Promise<void>;
    setKeepWarmTime(userId: string, deviceId: string, minutes: number): Promise<void>;
    private sendCommand;
    private authenticate;
}
