import { ConfigSchemaEnergySocket } from '../config.schema';
export declare const PLATFORM_MANUFACTURER = "HomeWizard";
export declare const MDNS_DISCOVERY_TYPE = "hwenergy";
export declare const MDNS_DISCOVERY_PROTOCOL = "tcp";
export declare enum HomeWizardDeviceTypes {
    WIFI_PI_METER = "HWE-P1",
    WIFI_ENERGY_SOCKET = "HWE-SKT",
    WIFI_WATER_METER = "HWE-WTR",
    WIFI_KWH_METER_PHASE_1 = "SDM230-wifi",
    WIFI_KWH_METER_PHASE_2 = "SDM630-wifi"
}
export interface TxtRecord {
    api_enabled: string;
    path: string;
    serial: string;
    product_name: string;
    product_type: string;
}
export interface EnergySocketAccessoryProperties {
    uuid: string;
    ip: string;
    apiVersion: string;
    apiUrl: string;
    serialNumber: string;
    productName: string;
    productType: HomeWizardDeviceTypes;
    displayName: string;
    firmwareVersion: string;
    activePower: number | null;
    config?: ConfigSchemaEnergySocket;
}
export interface HomeWizardApiStateResponse {
    power_on: boolean;
    switch_lock: boolean;
    brightness: number;
}
export type HomeWizardApiStatePutParams<Keys extends keyof HomeWizardApiStateResponse> = Pick<HomeWizardApiStateResponse, Keys>;
export interface HomeWizardApiBasicInformationResponse {
    product_type: string;
    product_name: string;
    serial: string;
    firmware_version: string;
    api_version: string;
}
export interface HomeWizardApiDataResponse {
    smr_version?: number;
    meter_model?: string;
    wifi_ssid?: string;
    wifi_strength?: number;
    total_power_import_t1_kwh?: number;
    total_power_import_t2_kwh?: number;
    total_power_export_t1_kwh?: number;
    total_power_export_t2_kwh?: number;
    active_power_w?: number;
    active_power_l1_w?: number;
    active_power_l2_w?: number;
    active_power_l3_w?: number;
    total_gas_m3?: number;
    gas_timestamp?: number;
    active_liter_lpm?: number;
    total_liter_m3?: number;
}
export type EnergySocketDataResponse = Omit<HomeWizardApiDataResponse, 'smr_version' | 'meter_model' | 'total_power_import_t2_kwh' | 'total_power_export_t2_kwh' | 'active_power_l2_w' | 'active_power_l3_w' | 'total_gas_m3' | 'gas_timestamp' | 'active_liter_lpm' | 'total_liter_m3'>;
export type P1MeterDataResponse = Omit<HomeWizardApiDataResponse, 'active_liter_lpm' | 'total_liter_m3'>;
export interface HomeWizardApiIdentifyResponse {
    identify: 'ok';
}
export interface HomeWizardEnergyPlatformAccessoryContext {
    energySocket: EnergySocketAccessoryProperties;
}
export interface HomeWizardApiErrorResponse {
    error: {
        id: ErrorCodes;
        description: string;
    };
}
export declare enum ErrorCodes {
    BODY_CONTAINS_INVALID_JSON = 2,
    NO_DATA_IN_BODY = 5,
    INVALID_VALUE_FOR_PARAMETER = 7,
    PARAMETER_IS_NOT_MODIFIABLE = 8,
    REQUEST_TO_LONG = 201,
    API_DISABLED = 202,
    INTERNAL_ERROR = 901
}
//# sourceMappingURL=types.d.ts.map