import { Logger, PlatformConfig } from "homebridge";
export interface BatteryStatus {
    Apparent_output: number;
    BackupBuffer: number;
    BatteryCharging: boolean;
    BatteryDischarging: boolean;
    Consumption_W: number;
    Fac: number;
    FlowConsumptionBattery: boolean;
    FlowConsumptionGrid: boolean;
    FlowConsumptionProduction: boolean;
    FlowGridBattery: boolean;
    FlowProductionBattery: boolean;
    FlowProductionGrid: boolean;
    GridFeedIn_W: number;
    IsSystemInstalled: number;
    OperatingMode: string;
    Pac_total_W: number;
    Production_W: number;
    RSOC: number;
    Sac1: null | number;
    Sac2: null | number;
    Sac3: null | number;
    SystemStatus: string;
    Timestamp: string;
    USOC: number;
    Uac: number;
    Ubat: number;
    dischargeNotAllowed: boolean;
    generator_autostart: boolean;
}
export interface SonnenConfiguration {
    CM_MarketingModuleCapacity: string;
    CN_CascadingRole: string;
    DE_Software: string;
    EM_OperatingMode: string;
    EM_Prognosis_Charging: string;
    EM_RE_ENABLE_MICROGRID: string;
    EM_ToU_Schedule: string;
    EM_USER_INPUT_TIME_ONE: string;
    EM_USER_INPUT_TIME_THREE: string;
    EM_USER_INPUT_TIME_TWO: string;
    EM_USOC: string;
    EM_US_CHP_Max_SOC: string;
    EM_US_CHP_Min_SOC: string;
    EM_US_GENRATOR_TYPE: string;
    EM_US_GEN_POWER_SET_POINT: string;
    EM_US_RE_ENABLE_MICROGRID: string;
    EM_US_USER_INPUT_TIME_ONE: string;
    EM_US_USER_INPUT_TIME_THREE: string;
    EM_US_USER_INPUT_TIME_TWO: string;
    IC_BatteryModules: string;
    IC_InverterMaxPower_w: string;
    NVM_PfcFixedCosPhi: string;
    NVM_PfcIsFixedCosPhiActive: string;
    NVM_PfcIsFixedCosPhiLagging: string;
    SH_HeaterOperatingMode: string;
    SH_HeaterTemperatureMax: string;
    SH_HeaterTemperatureMin: string;
}
export interface InverterStatus {
    fac: number;
    iac_total: number;
    ibat: number;
    ipv: number;
    pac_microgrid: number;
    pac_total: number;
    pbat: number;
    phi: number;
    ppv: number;
    sac_total: number;
    tmax: number;
    uac: number;
    ubat: number;
    upv: number;
}
export declare class SonnenAPI {
    version: number;
    interval: number;
    private sonnenURL;
    private sonnenToken;
    private sonnenSerial;
    private log;
    private Endpoints;
    batteryStatus: BatteryStatus;
    inverterStatus: InverterStatus;
    constructor(version: number, interval: number, config: PlatformConfig, log: Logger);
    serial(): string;
    displayName(): string;
    private makeURL;
    private fetchData;
    reloadInverterStatus(): Promise<void>;
    fetchConfiguration(): Promise<SonnenConfiguration>;
    reloadBatteryStatus(): Promise<void>;
    fetchLatestData(): Promise<void>;
}
//# sourceMappingURL=sonnenApi.d.ts.map