import type { PlatformConfig } from 'homebridge';
import pkg from 'lodash';
/**
 * This is the name of the platform that users will use to register the plugin in the Homebridge config.json
 */
export declare const PLATFORM_NAME = "SmartHQ";
/**
 * This must match the name of your plugin as defined the package.json
 */
export declare const PLUGIN_NAME = "@homebridge-plugins/homebridge-smarthq";
/**
 * This is the Login URL for the SmartHQ API
 */
export declare const LOGIN_URL = "https://accounts.brillion.geappliances.com/";
/**
 * This is the Secure URL for the SmartHQ API
 */
export declare const SECURE_URL = "https://secure.brillion.geappliances.com";
export interface SmartHQPlatformConfig extends PlatformConfig {
    name?: string;
    credentials?: credentials;
    devices?: devicesConfig[];
    options?: options;
    deviceOptions?: DeviceOptions;
}
export interface credentials {
    username?: string;
    password?: string;
}
export interface devicesConfig {
    firmware: string;
    refreshRate?: number;
    updateRate?: number;
    pushRate?: number;
    logging?: string;
    hide_device?: boolean;
}
export interface options {
    allowInvalidCharacters?: boolean;
    refreshRate?: number;
    updateRate?: number;
    pushRate?: number;
    logging?: string;
    homekitControllerNotificationsSecret?: string;
}
interface OpalOptions {
    opalProductionLimit?: number;
    oplHKCIceBucketFullNotificationPath?: string;
    oplHKCProgressCompleteNotificationPath?: string;
    oplHKCFilterMaintenanceNotificationPath?: string;
    oplHKCAddWaterNotificationPath?: string;
    oplHKCDescaleNotificationPath?: string;
    oplAutoShutoffOnBlockingEvent?: boolean;
    oplIceProductionSchedule?: {
        Monday: {
            time: string;
            enabled: boolean;
        };
        Tuesday: {
            time: string;
            enabled: boolean;
        };
        Wednesday: {
            time: string;
            enabled: boolean;
        };
        Thursday: {
            time: string;
            enabled: boolean;
        };
        Friday: {
            time: string;
            enabled: boolean;
        };
        Saturday: {
            time: string;
            enabled: boolean;
        };
        Sunday: {
            time: string;
            enabled: boolean;
        };
    };
}
export interface DeviceOptions {
    opal?: OpalOptions;
}
export interface SmartHqContext {
    userId: string;
    device: {
        jid: string;
        brand: string;
        model: string;
        serial: string;
        nickname: string;
        applianceId: string;
        firmware: string;
        features: string[];
    };
    DishWasher?: {
        Service?: any;
        Name?: any;
        On?: any;
    };
    ClothesWasher?: {
        On?: any;
    };
    ClothesDryer?: {
        On?: any;
    };
}
export interface SmartHqERDResponse {
    kind: string;
    userId: string;
    applianceId: string;
    erd: string;
    value: string;
    time: string;
}
export declare const OAUTH2_CLIENT_ID = "564c31616c4f7474434b307435412b4d2f6e7672";
export declare const OAUTH2_CLIENT_SECRET = "6476512b5246446d452f697154444941387052645938466e5671746e5847593d";
export declare const OAUTH2_REDIRECT_URI = "brillion.4e617a766474657344444e562b5935566e51324a://oauth/redirect";
export declare const API_URL = "https://api.brillion.geappliances.com/v1/";
export declare const KEEPALIVE_TIMEOUT: number;
export declare const ERD_TYPES: {
    APPLIANCE_TYPE: "0x0008";
    CLOCK_FORMAT: "0x0006";
    CLOCK_TIME: "0x0005";
    MODEL_NUMBER: "0x0001";
    SABBATH_MODE: "0x0009";
    SERIAL_NUMBER: "0x0002";
    SOUND_LEVEL: "0x000a";
    TEMPERATURE_UNIT: "0x0007";
    USER_INTERFACE_LOCKED: "0x0004";
    UNIT_TYPE: "0x0035";
    WIFI_MODULE_UPDATING: "0x0099";
    WIFI_MODULE_SW_VERSION: "0x0100";
    WIFI_MODULE_SW_VERSION_AVAILABLE: "0x0101";
    ACM_UPDATING: "0x0102";
    APPLIANCE_SW_VERSION: "0x0103";
    APPLIANCE_SW_VERSION_AVAILABLE: "0x0104";
    APPLIANCE_UPDATING: "0x0105";
    LCD_SW_VERSION: "0x0106";
    LCD_SW_VERSION_AVAILABLE: "0x0107";
    LCD_UPDATING: "0x0108";
    OIM_STATUS: string;
    OIM_LIGHT_LEVEL: string;
    OIM_UNKNOWN9102: string;
    OIM_FILTER_STATUS: string;
    OIM_NEEDS_DESCALING: string;
    OIM_POWER: string;
    OIM_PRODUCTION: string;
    AIR_FILTER_STATUS: "0x101c";
    DOOR_STATUS: "0x1016";
    FRIDGE_MODEL_INFO: "0x101d";
    HOT_WATER_IN_USE: "0x1018";
    HOT_WATER_SET_TEMP: "0x1011";
    HOT_WATER_STATUS: "0x1010";
    ICE_MAKER_BUCKET_STATUS: "0x1007";
    ICE_MAKER_CONTROL: "0x100a";
    SETPOINT_LIMITS: "0x100b";
    CURRENT_TEMPERATURE: "0x1004";
    TEMPERATURE_SETTING: "0x1005";
    TURBO_COOL_STATUS: "0x100f";
    TURBO_FREEZE_STATUS: "0x100e";
    WATER_FILTER_STATUS: "0x1009";
    FRIDGE_UNKNOWN_1012: "0x1012";
    FRIDGE_UNKNOWN_1013: "0x1013";
    FRIDGE_UNKNOWN_1019: "0x1019";
    CONVERTABLE_DRAWER_MODE: "0x1020";
    INTERIOR_LIGHT: "0x1024";
    PROXIMITY_LIGHT: "0x1028";
    FRIDGE_UNKONWN_1029: "0x1029";
    LOCKOUT_MODE: "0x102c";
    DISPLAY_MODE: "0x102d";
    FRIDGE_UNKNOWN_102E: "0x102e";
    FRIDGE_UNKNOWN_1100: "0x1100";
    FRIDGE_UNKNOWN_1101: "0x1101";
    FRIDGE_UNKNOWN_1102: "0x1102";
    FRIDGE_UNKNOWN_1103: "0x1103";
    FRIDGE_UNKNOWN_1104: "0x1104";
    ACTIVE_F_CODE_STATUS: "0x5005";
    CONVECTION_CONVERSION: "0x5003";
    ELAPSED_ON_TIME: "0x5004";
    END_TONE: "0x5001";
    HOUR_12_SHUTOFF_ENABLED: "0x5000";
    KEY_PRESSED: "0x5006";
    LIGHT_BAR: "0x5002";
    LOWER_OVEN_AVAILABLE_COOK_MODES: "0x520b";
    LOWER_OVEN_EXTENDED_COOK_MODES: "0x5213";
    LOWER_OVEN_COOK_MODE: "0x5200";
    LOWER_OVEN_COOK_TIME_REMAINING: "0x5204";
    LOWER_OVEN_CURRENT_STATE: "0x5201";
    LOWER_OVEN_DELAY_TIME_REMAINING: "0x5202";
    LOWER_OVEN_DISPLAY_TEMPERATURE: "0x5209";
    LOWER_OVEN_ELAPSED_COOK_TIME: "0x5208";
    LOWER_OVEN_KITCHEN_TIMER: "0x5205";
    LOWER_OVEN_PROBE_DISPLAY_TEMP: "0x5203";
    LOWER_OVEN_PROBE_PRESENT: "0x5207";
    LOWER_OVEN_REMOTE_ENABLED: "0x520a";
    LOWER_OVEN_USER_TEMP_OFFSET: "0x5206";
    LOWER_OVEN_WARMING_DRAWER_STATE: "0x520c";
    LOWER_OVEN_RAW_TEMPERATURE: "0x520d";
    LOWER_OVEN_LIGHT: "0x5211";
    LOWER_OVEN_LIGHT_AVAILABILITY: "0x5212";
    OVEN_CONFIGURATION: "0x5007";
    OVEN_MODE_MIN_MAX_TEMP: "0x5008";
    UPPER_OVEN_AVAILABLE_COOK_MODES: "0x510b";
    UPPER_OVEN_EXTENDED_COOK_MODES: "0x5113";
    UPPER_OVEN_COOK_MODE: "0x5100";
    UPPER_OVEN_COOK_TIME_REMAINING: "0x5104";
    UPPER_OVEN_CURRENT_STATE: "0x5101";
    UPPER_OVEN_DELAY_TIME_REMAINING: "0x5102";
    UPPER_OVEN_DISPLAY_TEMPERATURE: "0x5109";
    UPPER_OVEN_ELAPSED_COOK_TIME: "0x5108";
    UPPER_OVEN_KITCHEN_TIMER: "0x5105";
    UPPER_OVEN_PROBE_DISPLAY_TEMP: "0x5103";
    UPPER_OVEN_PROBE_PRESENT: "0x5107";
    UPPER_OVEN_REMOTE_ENABLED: "0x510a";
    UPPER_OVEN_USER_TEMP_OFFSET: "0x5106";
    UPPER_OVEN_WARMING_DRAWER_STATE: "0x510c";
    UPPER_OVEN_RAW_TEMPERATURE: "0x510d";
    UPPER_OVEN_LIGHT: "0x5111";
    UPPER_OVEN_LIGHT_AVAILABILITY: "0x5112";
    WARMING_DRAWER_STATE: "0x5009";
    COOKTOP_CONFIG: "0x551c";
    COOKTOP_STATUS: "0x5520";
    PRECISION_COOKING_PROBE_CONTROL_MODE: "0x5670";
    PRECISION_COOKING_PROBE_STATUS: "0x5671";
    PRECISION_COOKING_PROBE_TEMP_TARGET: "0x5672";
    PRECISION_COOKING_PROBE_TEMP_CURRENT: "0x5673";
    PRECISION_COOKING_PROBE_TIME_TARGET: "0x5674";
    PRECISION_COOKING_START_SOUS_VIDE_TIMER_ACTIVE_STATUS: "0x5675";
    PRECISION_COOKING_PROBE_TIME_CURRENT: "0x5676";
    PRECISION_COOKING_PROBE_TARGET_TIME_REACHED: "0x5677";
    PRECISION_COOKING_PROBE_BATTERY_STATUS: "0x5678";
    CLOSED_LOOP_COOKING_CONFIGURATION: "0x5770";
    DISHWASHER_CYCLE: "0x6000";
    DISHWASHER_CYCLE_PHASE: "0x6001";
    DISHWASHER_CYCLE_PHASE_DESCRIPTION: "0x6002";
    DISHWASHER_CYCLE_PHASE_TIME_REMAINING: "0x6003";
    DISHWASHER_CYCLE_PHASE_STATUS: "0x6004";
    DISHWASHER_CYCLE_PHASE_STATUS_DESCRIPTION: "0x6005";
    DISHWASHER_CYCLE_PHASE_STATUS_TIME_REMAINING: "0x6006";
    DISHWASHER_CYCLE_PHASE_STATUS_TIME_TOTAL: "0x6007";
    COMMON_V1_CONTROL_LOCK: "0x7000";
    COMMON_V1_SABBATH: "0x7001";
    COMMON_V1_SOUND_LEVEL: "0x7002";
    DISHWASHER_V1_CYCLE_DEFINITIONS: "0x7003";
    DISHWASHER_V1_CYCLE_SETTINGS_BOTTLE_BLAST_OPTION: "0x7004";
    DISHWASHER_V1_CYCLE_SETTINGS_DELAY_START: "0x7005";
    DISHWASHER_V1_CYCLE_SETTINGS_DRY_TEMP_SELECTION: "0x7006";
    DISHWASHER_V1_CYCLE_SETTINGS_SELECTED_CYCLE: "0x7007";
    DISHWASHER_V1_CYCLE_SETTINGS_STEAM_OPTION: "0x7008";
    DISHWASHER_V1_CYCLE_SETTINGS_WASH_TEMP_SELECTION: "0x7009";
    DISHWASHER_V1_CYCLE_SETTINGS_WASH_ZONE_SELECTION: "0x700a";
    DISHWASHER_V1_FOUNDATION: "0x700b";
    DISHWASHER_V1_REMAINING_DELAY_START_TIME: "0x700c";
    DISHWASHER_V1_REMOTE_CYCLE_CONTROL: "0x700d";
    DISHWASHER_V1_SERVICE: "0x700e";
    DISHWASHER_V2_SMART_ASSIST: "0x700f";
    RESOURCE_MANAGEMENT_V1_ELECTRICAL_ENERGY_USAGE_V2: "0x7010";
    AIR_CONDITIONER_AMBIENT_TEMPERATURE: "0x7A02";
    AIR_CONDITIONER_FAN_SETTING: "0x7A00";
    AIR_CONDITIONER_FILTER_STATUS: "0x7A04";
    AIR_CONDITIONER_OPERATION_MODE: "0x7A01";
    AIR_CONDITIONER_POWER_STATUS: "0x7A0F";
    AIR_CONDITIONER_SWING_MODE: "0x7A03";
    AIR_CONDITIONER_TARGET_TEMPERATURE: "0x7003";
    AIR_CONDITIONER_TEMPERATURE_UNIT: "0x0007";
    HOOD_FAN_SPEED: "0x5B00";
    HOOD_LIGHT_LEVEL: "0x5B02";
};
export declare const ERD_CODES: pkg.Dictionary<string>;
export {};
//# sourceMappingURL=settings.d.ts.map