import events = require('events');
import { ILogging } from './ILogging';
import { Status } from '../models/Status';
import { RinnaiSession } from './RinnaiSession';
export declare enum OperatingModes {
    HEATING = 0,
    COOLING = 1,
    EVAPORATIVE_COOLING = 2,
    REVERSE_CYLCE = 3,
    NONE = 4
}
export declare enum OperatingStates {
    NORMAL = 0,
    CLOCK_SETTING = 1,
    PARAMETER_SETTING = 2,
    USER_SETTING = 3,
    PIN_ENTRY = 4
}
export declare enum ControlModes {
    MANUAL = 0,
    AUTO = 1
}
export declare enum ScheduleOverrideModes {
    NONE = 0,
    ADVANCE = 1,
    OPERATION = 2
}
export declare class RinnaiService extends events.EventEmitter {
    private readonly log;
    private readonly _session;
    private readonly invertComfortLevel;
    private faultDetected;
    private faultMessage?;
    readonly AllZones: string[];
    private readonly days;
    constructor(options?: {
        log?: ILogging;
        address?: string;
        port?: number;
        showModuleEvents?: boolean;
        showModuleStatus?: boolean;
        invertComfortLevel?: boolean;
        bootTime?: string;
        bootPassword?: string;
    });
    init(): Promise<void>;
    get session(): RinnaiSession;
    getHasMultiSetPoint(): boolean;
    getTemperatureUnits(): string;
    getZoneName(zone: string): string;
    getHasHeater(): boolean;
    getHasCooler(): boolean;
    getHasEvaporative(): boolean;
    getOperatingMode(): OperatingModes;
    getOperatingStates(): OperatingStates;
    getZoneInstalled(zone: string): boolean;
    getZonesInstalled(): string[];
    getPowerState(): boolean;
    getFanState(): boolean;
    getFanSpeed(): number;
    getPumpState(): boolean;
    getControlMode(zone?: string): ControlModes;
    getSetPointTemperature(zone?: string): number | undefined;
    getScheduleOverride(zone?: string): ScheduleOverrideModes;
    getHeaterCoolerActive(zone?: string): boolean;
    getUserEnabled(zone: string): boolean;
    getMeasuredTemperature(zone: string): number | undefined;
    getAutoEnabled(zone: string): boolean;
    setOperatingMode(value: OperatingModes): Promise<void>;
    setOperatingState(value: OperatingStates): Promise<void>;
    setDayAndTime(): Promise<void>;
    saveDayAndTime(): Promise<void>;
    setPowerState(value: boolean): Promise<void>;
    setFanState(value: boolean): Promise<void>;
    setFanSpeed(value: number): Promise<void>;
    setSetPointTemperature(value: number, zone?: string): Promise<void>;
    setUserEnabled(value: boolean, zone: string): Promise<void>;
    setControlMode(value: ControlModes, zone?: string): Promise<void>;
    setScheduleOverride(value: ScheduleOverrideModes, zone?: string): Promise<void>;
    setPumpState(value: boolean): Promise<void>;
    handleStatus(status: Status): void;
    private toComfortLevel;
    private toTemperature;
    private toSetPointTemperature;
}
//# sourceMappingURL=RinnaiService.d.ts.map