import { LogLevel } from "@yyberi/logger";
export interface TimeRangeValueData {
    time: string;
    value: number;
}
export type InverterParamData = {
    Value?: number;
    Unit?: string;
    Values?: Record<string, number>;
};
export type SimpleInverterRealtimeData = {
    totalEnergy?: number;
    yearEnergy?: number;
    dayEnergy?: number;
    actPower?: number;
    ts?: string;
};
export declare class FroniusClient {
    private readonly ip;
    private readonly scope;
    private readonly deviceId;
    private readonly deviceClass;
    private readonly logLevel;
    constructor(ip: string, scope: string, deviceId: string, deviceClass: string, logLevel?: LogLevel);
    /**
     * Get realtime data from the inverter.
     * @returns {Promise<SimpleInverterRealtimeData>} - Returns an object with totalEnergy, yearEnergy, dayEnergy and actPower.
     */
    getRealtimeData(): Promise<SimpleInverterRealtimeData>;
    /**
     * Send http request to get production data for a specific date or date range.
     * @param date
     */
    private getProductionData;
    /**
     *
     * @param date
     */
    parseEnergyReal_WAC_Sum_Produced_5min(date: string): Promise<TimeRangeValueData[]>;
    parseEnergyReal_WAC_Sum_Produced_5min(start: string, end: string): Promise<TimeRangeValueData[]>;
    /**
     *
     * @param date
     */
    parseEnergyReal_WAC_Sum_Produced_15min(date: string): Promise<{
        data5min: TimeRangeValueData[];
        data15min: TimeRangeValueData[];
    }>;
    parseEnergyReal_WAC_Sum_Produced_15min(start: string, end: string): Promise<{
        data5min: TimeRangeValueData[];
        data15min: TimeRangeValueData[];
    }>;
    /**
     *
     * @param date
     */
    parseEnergyReal_WAC_Sum_Produced_All(date: string): Promise<{
        data5min: TimeRangeValueData[];
        data15min: TimeRangeValueData[];
        data60min: TimeRangeValueData[];
    }>;
    parseEnergyReal_WAC_Sum_Produced_All(start: string, end: string): Promise<{
        data5min: TimeRangeValueData[];
        data15min: TimeRangeValueData[];
        data60min: TimeRangeValueData[];
    }>;
}
//# sourceMappingURL=fronius-comm.d.ts.map