declare const _exports: ({
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    fromZigbee: ({
        cluster: string;
        type: string;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            water_leak: boolean;
            tamper: boolean;
            battery_low: boolean;
        };
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => any;
    })[];
    toZigbee: undefined[];
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<void>;
    exposes: (exposes.Numeric | exposes.Binary)[];
    ota: {
        getImageMeta: (current: any, logger: any, device: any) => Promise<{
            fileVersion: any;
            fileSize: any;
            url: any;
            sha512: any;
            force: any;
        }>;
        isUpdateAvailable: (device: any, logger: any, requestPayload?: any) => Promise<any>;
        updateToLatest: (device: any, logger: any, onProgress: any) => Promise<any>;
        useIndexOverride: (indexFileName: any) => void;
        setDataDir: (dir: any) => void;
    };
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    fromZigbee: ({
        cluster: string;
        type: string;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            [x: number]: boolean;
        };
    } | {
        cluster: string;
        type: string;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            contact: boolean;
            tamper: boolean;
            battery_low: boolean;
        };
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => any;
    })[];
    toZigbee: undefined[];
    exposes: (exposes.Numeric | exposes.Binary)[];
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<void>;
} | {
    fingerprint: {
        modelID: string;
        manufacturerName: string;
    }[];
    model: string;
    vendor: string;
    description: string;
    fromZigbee: ({
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            battery: any;
            voltage: number;
            battery_low: boolean;
        };
    } | {
        cluster: string;
        type: string;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            occupancy: boolean;
            tamper: boolean;
            battery_low: boolean;
        };
    })[];
    toZigbee: undefined[];
    exposes: (exposes.Numeric | exposes.Binary)[];
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<void>;
    ota: {
        getImageMeta: (current: any, logger: any, device: any) => Promise<{
            fileVersion: any;
            fileSize: any;
            url: any;
            sha512: any;
            force: any;
        }>;
        isUpdateAvailable: (device: any, logger: any, requestPayload?: any) => Promise<any>;
        updateToLatest: (device: any, logger: any, onProgress: any) => Promise<any>;
        useIndexOverride: (indexFileName: any) => void;
        setDataDir: (dir: any) => void;
    };
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    fromZigbee: {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {};
    }[];
    toZigbee: ({
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                power_on_behavior: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state?: undefined;
        } | {
            state: {
                state: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                switch_type: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    endpoint: (device: any) => {
        l1: number;
        l2: number;
    };
    meta: {
        multiEndpoint: boolean;
    };
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<void>;
    exposes: any[];
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: (definition: any) => exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            power: any;
            energy: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {};
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            rms_current: any;
            rms_voltage: any;
            voltage_min: any;
            voltage_max: any;
            active_power: any;
            power_max: any;
            consumed_energy: any;
            consumed_energy_limit: any;
            rssi: any;
            default_on_off_state: any;
            alarm_voltage_min: boolean;
            alarm_voltage_max: boolean;
            alarm_power_max: boolean;
            alarm_consumed_energy: boolean;
        };
    })[];
    toZigbee: ({
        key: string[];
        convertSet: (entity: any, key: any, val: any, meta: any) => Promise<{
            state: {
                default_on_off_state: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, val: any, meta: any) => Promise<{
            state: {
                alarm_voltage_min: boolean;
                alarm_voltage_max: boolean;
                alarm_power_max: boolean;
                alarm_consumed_energy: boolean;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, val: any, meta: any) => Promise<{
            state: {
                [x: number]: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state?: undefined;
        } | {
            state: {
                state: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<void>;
    exposes: any[];
    ota: {
        getImageMeta: (current: any, logger: any, device: any) => Promise<{
            fileVersion: any;
            fileSize: any;
            url: any;
            sha512: any;
            force: any;
        }>;
        isUpdateAvailable: (device: any, logger: any, requestPayload?: any) => Promise<any>;
        updateToLatest: (device: any, logger: any, onProgress: any) => Promise<any>;
        useIndexOverride: (indexFileName: any) => void;
        setDataDir: (dir: any) => void;
    };
})[];
export = _exports;
import exposes = require("../lib/exposes");
//# sourceMappingURL=perenio.d.ts.map