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) => {
            battery: any;
            voltage: number;
            battery_low: boolean;
        };
    } | {
        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[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    })[];
    toZigbee: undefined[];
    exposes: (exposes.Numeric | exposes.Binary)[];
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    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) => {
            battery: any;
            voltage: number;
            battery_low: boolean;
        };
    } | {
        cluster: string;
        type: string;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            [x: number]: boolean;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    })[];
    toZigbee: undefined[];
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    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) => {
            [x: number]: boolean;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            contact: boolean;
        };
    })[];
    toZigbee: {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                detection_distance: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    }[];
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    exposes: any[];
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    fromZigbee: any[];
    toZigbee: any[];
    meta: {
        multiEndpoint: boolean;
    };
    endpoint: (device: any) => {
        l1: number;
        l2: number;
    };
    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;
    };
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    toZigbee: any[];
    fromZigbee: any[];
    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;
    };
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    extend: {
        fromZigbee: any[];
        exposes: any[];
        toZigbee: 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;
    };
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    meta: {
        turnsOffAtBrightness1: boolean;
    };
    extend: {
        fromZigbee: any[];
        exposes: any[];
        toZigbee: 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;
    };
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    extend: {
        fromZigbee: any[];
        exposes: any[];
        toZigbee: any[];
    };
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    whiteLabel: {
        vendor: string;
        model: string;
    }[];
    description: string;
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | FromZigbeeConverter)[];
    exposes: (exposes.Numeric | exposes.Enum)[];
    toZigbee: undefined[];
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    exposes: (exposes.Numeric | exposes.Enum)[];
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
        };
    } | FromZigbeeConverter)[];
    toZigbee: undefined[];
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    exposes: (exposes.Numeric | exposes.Enum)[];
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
        };
    } | FromZigbeeConverter)[];
    toZigbee: undefined[];
    onEvent: (type: any, data: any, device: any) => Promise<void>;
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {};
    } | {
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            power: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
        };
    })[];
    toZigbee: {
        key: string[];
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    }[];
    exposes: any[];
    onEvent: (type: any, data: any, device: any) => Promise<void>;
    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[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {};
    } | {
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            power: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
        };
    })[];
    toZigbee: {
        key: string[];
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    }[];
    exposes: any[];
    meta: {
        multiEndpoint: boolean;
    };
    endpoint: (device: any) => {
        top: number;
        bottom: number;
    };
    onEvent: (type: any, data: any, device: any) => Promise<void>;
    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[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {};
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
        };
    })[];
    toZigbee: ({
        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: {
                power_outage_memory: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                led_disabled_night: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                flip_indicator_light: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<void>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    meta: {
        multiEndpoint: boolean;
    };
    endpoint: (device: any) => {
        left: number;
        right: number;
    };
    exposes: any[];
    onEvent: (type: any, data: any, device: any) => Promise<void>;
    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;
    meta: {
        multiEndpoint: boolean;
    };
    endpoint: (device: any) => {
        left: number;
        right: number;
    };
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {};
    } | {
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            power: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
        };
    })[];
    toZigbee: ({
        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: {
                power_outage_memory: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                led_disabled_night: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                flip_indicator_light: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<void>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    exposes: any[];
    onEvent: (type: any, data: any, device: 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[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {};
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
        };
    })[];
    toZigbee: ({
        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: {
                power_outage_memory: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                mode_switch: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                led_disabled_night: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                flip_indicator_light: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<void>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    exposes: any[];
    onEvent: (type: any, data: any, device: any) => Promise<void>;
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<void>;
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {};
    } | {
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            power: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
        };
    })[];
    toZigbee: {
        key: string[];
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    }[];
    meta: {
        multiEndpoint: boolean;
    };
    endpoint: (device: any) => {
        left: number;
        right: number;
    };
    exposes: any[];
    onEvent: (type: any, data: any, device: any) => Promise<void>;
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<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) => any;
    } | FromZigbeeConverter)[];
    exposes: any[];
    toZigbee: {
        key: string[];
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    }[];
    endpoint: (device: any) => {
        system: number;
    };
    onEvent: (type: any, data: any, device: 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;
    };
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<void>;
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            power: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
        };
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            operation_mode: any;
        };
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            [x: number]: string;
        };
    } | FromZigbeeConverter)[];
    exposes: any[];
    meta: {
        multiEndpoint: boolean;
    };
    toZigbee: {
        key: string[];
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    }[];
    endpoint: (device: any) => {
        left: number;
        right: number;
        system: number;
    };
    onEvent: (type: any, data: any, device: 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;
    };
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<void>;
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | FromZigbeeConverter)[];
    toZigbee: undefined[];
    endpoint: (device: any) => {
        left: number;
        right: number;
        both: number;
    };
    exposes: (exposes.Numeric | exposes.Enum)[];
    onEvent: (type: any, data: any, device: any) => Promise<void>;
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: string;
        };
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            operation_mode: any;
        };
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            [x: number]: string;
        };
    } | FromZigbeeConverter)[];
    exposes: any[];
    toZigbee: ({
        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: {
                operation_mode: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    endpoint: (device: any) => {
        system: number;
        default: number;
    };
    onEvent: (type: any, data: any, device: any) => Promise<void>;
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<void>;
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: string;
        };
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            operation_mode: any;
        };
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            [x: number]: string;
        };
    } | FromZigbeeConverter)[];
    exposes: any[];
    toZigbee: ({
        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: {
                operation_mode: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    meta: {
        multiEndpoint: boolean;
    };
    endpoint: (device: any) => {
        system: number;
        left: number;
        right: number;
    };
    onEvent: (type: any, data: any, device: any) => Promise<void>;
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<void>;
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {};
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
        };
    })[];
    toZigbee: ({
        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: {
                power_outage_memory: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                mode_switch: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                led_disabled_night: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                flip_indicator_light: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<void>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    meta: {
        multiEndpoint: boolean;
    };
    endpoint: (device: any) => {
        left: number;
        center: number;
        right: number;
    };
    exposes: any[];
    onEvent: (type: any, data: any, device: any) => Promise<void>;
    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;
    exposes: any[];
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {};
    } | {
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            power: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
        };
    })[];
    toZigbee: ({
        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: {
                power_outage_memory: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                led_disabled_night: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                flip_indicator_light: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<void>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    meta: {
        multiEndpoint: boolean;
    };
    endpoint: (device: any) => {
        left: number;
        center: number;
        right: number;
    };
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<void>;
    onEvent: (type: any, data: any, device: 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[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {};
    } | {
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            power: any;
        };
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
        };
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            operation_mode: any;
        };
    })[];
    toZigbee: {
        key: string[];
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    }[];
    meta: {
        multiEndpoint: boolean;
    };
    endpoint: (device: any) => {
        left: number;
        right: number;
        system: number;
    };
    exposes: any[];
    onEvent: (type: any, data: any, device: 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[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {};
    } | {
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            power: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
        };
    })[];
    toZigbee: ({
        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: {
                power_outage_memory: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                led_disabled_night: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                flip_indicator_light: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<void>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    exposes: any[];
    onEvent: (type: any, data: any, device: 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;
    whiteLabel: {
        vendor: string;
        model: string;
    }[];
    description: string;
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            humidity: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        options: exposes.Numeric[];
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            temperature: any;
        };
    })[];
    toZigbee: undefined[];
    exposes: exposes.Numeric[];
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            humidity: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            pressure: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        options: exposes.Numeric[];
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            temperature: any;
        };
    })[];
    toZigbee: undefined[];
    exposes: exposes.Numeric[];
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<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) => {
            battery: any;
            voltage: number;
            battery_low: boolean;
        };
    } | {
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            [x: number]: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            humidity: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            pressure: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    })[];
    toZigbee: undefined[];
    exposes: exposes.Numeric[];
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    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;
    whiteLabel: {
        vendor: string;
        model: string;
    }[];
    description: string;
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: (exposes.Numeric | exposes.List)[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            occupancy: boolean;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    })[];
    toZigbee: undefined[];
    exposes: (exposes.Numeric | exposes.Binary)[];
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: (exposes.Numeric | exposes.List)[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            occupancy: boolean;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    })[];
    toZigbee: undefined[];
    exposes: (exposes.Numeric | exposes.Binary)[];
} | {
    zigbeeModel: 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[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        options: (exposes.Numeric | exposes.List)[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            occupancy: boolean;
        };
    })[];
    toZigbee: ({
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                motion_sensitivity: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                detection_interval: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    exposes: any[];
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    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;
    whiteLabel: {
        vendor: string;
        model: 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[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        options: (exposes.Numeric | exposes.List)[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            occupancy: boolean;
            illuminance: any;
        };
    })[];
    toZigbee: ({
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                motion_sensitivity: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                detection_interval: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                trigger_indicator: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    exposes: any[];
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    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[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action?: string;
        };
    })[];
    toZigbee: ({
        key: string[];
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<void>;
    })[];
    exposes: any[];
    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;
    whiteLabel: {
        vendor: string;
        model: string;
    }[];
    description: string;
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            contact: boolean;
        };
    })[];
    toZigbee: undefined[];
    exposes: (exposes.Numeric | exposes.Binary)[];
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            contact: boolean;
        };
    })[];
    toZigbee: undefined[];
    exposes: (exposes.Numeric | exposes.Binary)[];
    configure: (device: any) => Promise<void>;
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    meta: {
        battery: {
            voltageToPercentage: 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[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    })[];
    toZigbee: undefined[];
    exposes: (exposes.Numeric | exposes.Binary)[];
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    meta: {
        battery: {
            voltageToPercentage: 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[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    })[];
    toZigbee: undefined[];
    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;
    description: string;
    vendor: string;
    fromZigbee: {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => any;
    }[];
    toZigbee: {
        key: string[];
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    }[];
    exposes: (exposes.Numeric | exposes.Switch)[];
} | {
    zigbeeModel: string[];
    model: string;
    description: string;
    vendor: string;
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            device_temperature: any;
        };
    } | {
        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.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            power_factor: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {};
    } | {
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            power: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    })[];
    toZigbee: ({
        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: {
                power_outage_memory: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                auto_off: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                overload_protection: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                button_lock: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                led_disabled_night: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<void>;
    onEvent: (type: any, data: any, device: any) => Promise<void>;
    exposes: (exposes.Numeric | exposes.Binary | exposes.Switch)[];
    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) => any;
    }[];
    toZigbee: {
        key: string[];
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    }[];
    exposes: (exposes.Numeric | exposes.Binary | exposes.Switch)[];
    onEvent: (type: any, data: any, device: any) => Promise<void>;
} | {
    zigbeeModel: string[];
    model: string;
    description: string;
    vendor: string;
    whiteLabel: {
        vendor: string;
        model: string;
    }[];
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            smoke: boolean;
            tamper: boolean;
            battery_low: boolean;
            supervision_reports: boolean;
            restore_reports: boolean;
            trouble: boolean;
            ac_status: boolean;
            test: boolean;
            battery_defect: boolean;
        };
    })[];
    toZigbee: ({
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                sensitivity: any;
            };
        }>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<void>;
    })[];
    exposes: any[];
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    whiteLabel: {
        vendor: string;
        model: string;
    }[];
    description: string;
    fromZigbee: ({
        cluster: string;
        type: string;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            gas: boolean;
            tamper: boolean;
            battery_low: boolean;
        };
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            gas_density: any;
        };
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            sensitivity: any;
        };
    })[];
    toZigbee: ({
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                sensitivity: any;
            };
        }>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<void>;
    })[];
    exposes: any[];
} | {
    zigbeeModel: 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[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    })[];
    toZigbee: ({
        key: string[];
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<void>;
    })[];
    exposes: any[];
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    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) => {
            keyerror: boolean;
            inserted: any;
            forgotten?: undefined;
        } | {
            inserted: any;
            keyerror?: undefined;
            forgotten?: undefined;
        } | {
            forgotten: any;
            keyerror?: undefined;
            inserted?: undefined;
        };
    }[];
    exposes: any[];
    toZigbee: undefined[];
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
            vibration: boolean;
            angle: any;
            strength: number;
            angle_x: number;
            angle_y: number;
            angle_z: number;
            angle_x_absolute: number;
            angle_y_absolute: number;
        };
    })[];
    toZigbee: {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                sensitivity: any;
            };
        }>;
    }[];
    exposes: any[];
} | {
    zigbeeModel: string[];
    model: string;
    description: string;
    vendor: string;
    whiteLabel: {
        vendor: string;
        model: string;
    }[];
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        options: exposes.Binary[];
        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: {
                options: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        options: exposes.Binary[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                state: string;
            };
        }>;
        convertGet: (entity: any, key: any, meta: 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;
    };
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<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) => {
            motor_state: any;
            running: boolean;
        };
    })[];
    toZigbee: ({
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                options: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        options: exposes.Binary[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                state: string;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    onEvent: (type: any, data: any, device: 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;
    };
} | {
    zigbeeModel: string[];
    model: string;
    description: string;
    vendor: string;
    whiteLabel: {
        vendor: string;
        model: string;
    }[];
    fromZigbee: {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => any;
    }[];
    toZigbee: {
        key: string[];
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    }[];
    onEvent: (type: any, data: any, device: any) => Promise<void>;
    exposes: any[];
    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;
    whiteLabel: {
        vendor: string;
        model: 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) => {
            power_source: any;
            ac_connected: boolean;
            charging: boolean;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {};
    })[];
    toZigbee: ({
        key: string[];
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                [x: number]: any;
            };
        }>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<void>;
    })[];
    exposes: any[];
    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) => any;
    }[];
    meta: {
        multiEndpoint: boolean;
    };
    toZigbee: ({
        key: string[];
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                interlock: any;
            };
        }>;
    })[];
    endpoint: (device: any) => {
        l1: number;
        l2: number;
    };
    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;
    };
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<void>;
} | {
    zigbeeModel: string[];
    model: string;
    description: string;
    vendor: string;
    fromZigbee: ({
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            battery_low: boolean;
        };
    } | {
        cluster: string;
        type: string[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
            state: string;
            reverse: string;
            action_user: number;
            action_repeat: number;
            repeat: number;
            user: number;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    })[];
    toZigbee: undefined[];
    exposes: any[];
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    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;
    description: string;
    vendor: string;
    fromZigbee: {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => any;
    }[];
    toZigbee: undefined[];
    exposes: any[];
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<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) => {
            battery: any;
            voltage: number;
            battery_low: boolean;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: string;
        };
    } | {
        cluster: string;
        type: string;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: string;
        };
    })[];
    exposes: any[];
    toZigbee: {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                operation_mode: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    }[];
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<void>;
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    whiteLabel: {
        vendor: string;
        model: 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[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            illuminance: any;
            illuminance_lux: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    })[];
    toZigbee: {
        key: string[];
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    }[];
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<void>;
    exposes: exposes.Numeric[];
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    fromZigbee: {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => any;
    }[];
    exposes: (exposes.Numeric | exposes.Binary | exposes.Enum | exposes.Switch)[];
    toZigbee: ({
        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>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                power_outage_memory: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                led_disabled_night: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    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[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {};
    } | {
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            power: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    })[];
    toZigbee: {
        key: string[];
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    }[];
    exposes: (exposes.Numeric | exposes.Binary | exposes.Enum | exposes.Switch)[];
    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[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {};
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    })[];
    exposes: (exposes.Numeric | exposes.Binary | exposes.Enum | exposes.Switch)[];
    toZigbee: ({
        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>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                power_outage_memory: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<void>;
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    fromZigbee: ({
        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) => {
            theme: any;
            screen_saver_style: any;
            standby_enabled: boolean;
            beep_volume: any;
            lcd_brightness: any;
            available_switches: any;
            font_size: any;
            homepage: any;
            language: any;
            standby_time: any;
            lcd_auto_brightness_enabled: boolean;
            screen_saver_enabled: boolean;
            standby_lcd_brightness: any;
            switch_1_icon: any;
            switch_1_text: string;
            switch_2_icon: any;
            switch_2_text: string;
            switch_3_icon: any;
            switch_3_text: string;
        };
    })[];
    toZigbee: ({
        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: {
                theme: any;
                standby_enabled?: undefined;
                beep_volume?: undefined;
                lcd_brightness?: undefined;
                language?: undefined;
                screen_saver_style?: undefined;
                standby_time?: undefined;
                font_size?: undefined;
                lcd_auto_brightness_enabled?: undefined;
                homepage?: undefined;
                screen_saver_enabled?: undefined;
                standby_lcd_brightness?: undefined;
                available_switches?: undefined;
            };
        } | {
            state: {
                standby_enabled: any;
                theme?: undefined;
                beep_volume?: undefined;
                lcd_brightness?: undefined;
                language?: undefined;
                screen_saver_style?: undefined;
                standby_time?: undefined;
                font_size?: undefined;
                lcd_auto_brightness_enabled?: undefined;
                homepage?: undefined;
                screen_saver_enabled?: undefined;
                standby_lcd_brightness?: undefined;
                available_switches?: undefined;
            };
        } | {
            state: {
                beep_volume: any;
                theme?: undefined;
                standby_enabled?: undefined;
                lcd_brightness?: undefined;
                language?: undefined;
                screen_saver_style?: undefined;
                standby_time?: undefined;
                font_size?: undefined;
                lcd_auto_brightness_enabled?: undefined;
                homepage?: undefined;
                screen_saver_enabled?: undefined;
                standby_lcd_brightness?: undefined;
                available_switches?: undefined;
            };
        } | {
            state: {
                lcd_brightness: any;
                theme?: undefined;
                standby_enabled?: undefined;
                beep_volume?: undefined;
                language?: undefined;
                screen_saver_style?: undefined;
                standby_time?: undefined;
                font_size?: undefined;
                lcd_auto_brightness_enabled?: undefined;
                homepage?: undefined;
                screen_saver_enabled?: undefined;
                standby_lcd_brightness?: undefined;
                available_switches?: undefined;
            };
        } | {
            state: {
                language: any;
                theme?: undefined;
                standby_enabled?: undefined;
                beep_volume?: undefined;
                lcd_brightness?: undefined;
                screen_saver_style?: undefined;
                standby_time?: undefined;
                font_size?: undefined;
                lcd_auto_brightness_enabled?: undefined;
                homepage?: undefined;
                screen_saver_enabled?: undefined;
                standby_lcd_brightness?: undefined;
                available_switches?: undefined;
            };
        } | {
            state: {
                screen_saver_style: any;
                theme?: undefined;
                standby_enabled?: undefined;
                beep_volume?: undefined;
                lcd_brightness?: undefined;
                language?: undefined;
                standby_time?: undefined;
                font_size?: undefined;
                lcd_auto_brightness_enabled?: undefined;
                homepage?: undefined;
                screen_saver_enabled?: undefined;
                standby_lcd_brightness?: undefined;
                available_switches?: undefined;
            };
        } | {
            state: {
                standby_time: any;
                theme?: undefined;
                standby_enabled?: undefined;
                beep_volume?: undefined;
                lcd_brightness?: undefined;
                language?: undefined;
                screen_saver_style?: undefined;
                font_size?: undefined;
                lcd_auto_brightness_enabled?: undefined;
                homepage?: undefined;
                screen_saver_enabled?: undefined;
                standby_lcd_brightness?: undefined;
                available_switches?: undefined;
            };
        } | {
            state: {
                font_size: any;
                theme?: undefined;
                standby_enabled?: undefined;
                beep_volume?: undefined;
                lcd_brightness?: undefined;
                language?: undefined;
                screen_saver_style?: undefined;
                standby_time?: undefined;
                lcd_auto_brightness_enabled?: undefined;
                homepage?: undefined;
                screen_saver_enabled?: undefined;
                standby_lcd_brightness?: undefined;
                available_switches?: undefined;
            };
        } | {
            state: {
                lcd_auto_brightness_enabled: any;
                theme?: undefined;
                standby_enabled?: undefined;
                beep_volume?: undefined;
                lcd_brightness?: undefined;
                language?: undefined;
                screen_saver_style?: undefined;
                standby_time?: undefined;
                font_size?: undefined;
                homepage?: undefined;
                screen_saver_enabled?: undefined;
                standby_lcd_brightness?: undefined;
                available_switches?: undefined;
            };
        } | {
            state: {
                homepage: any;
                theme?: undefined;
                standby_enabled?: undefined;
                beep_volume?: undefined;
                lcd_brightness?: undefined;
                language?: undefined;
                screen_saver_style?: undefined;
                standby_time?: undefined;
                font_size?: undefined;
                lcd_auto_brightness_enabled?: undefined;
                screen_saver_enabled?: undefined;
                standby_lcd_brightness?: undefined;
                available_switches?: undefined;
            };
        } | {
            state: {
                screen_saver_enabled: any;
                theme?: undefined;
                standby_enabled?: undefined;
                beep_volume?: undefined;
                lcd_brightness?: undefined;
                language?: undefined;
                screen_saver_style?: undefined;
                standby_time?: undefined;
                font_size?: undefined;
                lcd_auto_brightness_enabled?: undefined;
                homepage?: undefined;
                standby_lcd_brightness?: undefined;
                available_switches?: undefined;
            };
        } | {
            state: {
                standby_lcd_brightness: any;
                theme?: undefined;
                standby_enabled?: undefined;
                beep_volume?: undefined;
                lcd_brightness?: undefined;
                language?: undefined;
                screen_saver_style?: undefined;
                standby_time?: undefined;
                font_size?: undefined;
                lcd_auto_brightness_enabled?: undefined;
                homepage?: undefined;
                screen_saver_enabled?: undefined;
                available_switches?: undefined;
            };
        } | {
            state: {
                available_switches: any;
                theme?: undefined;
                standby_enabled?: undefined;
                beep_volume?: undefined;
                lcd_brightness?: undefined;
                language?: undefined;
                screen_saver_style?: undefined;
                standby_time?: undefined;
                font_size?: undefined;
                lcd_auto_brightness_enabled?: undefined;
                homepage?: undefined;
                screen_saver_enabled?: undefined;
                standby_lcd_brightness?: undefined;
            };
        } | {
            state: {};
        }>;
    })[];
    meta: {
        multiEndpoint: boolean;
    };
    endpoint: (device: any) => {
        left: number;
        center: number;
        right: number;
    };
    exposes: any[];
    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;
    whiteLabel: {
        vendor: string;
        model: 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) => {
            action: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
        };
    })[];
    toZigbee: ({
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                operation_mode: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                click_mode: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    meta: {
        battery: {
            voltageToPercentage: string;
        };
        multiEndpoint: boolean;
    };
    exposes: any[];
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<void>;
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {};
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
        };
    })[];
    toZigbee: ({
        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: {
                power_outage_memory: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                mode_switch: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                flip_indicator_light: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<void>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    meta: {
        multiEndpoint: boolean;
    };
    endpoint: (device: any) => {
        left: number;
        right: number;
    };
    exposes: any[];
    onEvent: (type: any, data: any, device: any) => Promise<void>;
    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;
    whiteLabel: {
        vendor: string;
        model: 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[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            [x: number]: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            humidity: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            voc: any;
        };
    })[];
    toZigbee: {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                display_unit: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    }[];
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    exposes: any[];
    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;
    meta: {
        battery: {
            voltageToPercentage: 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[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: string;
        };
    })[];
    toZigbee: undefined[];
    exposes: (exposes.Numeric | exposes.Enum)[];
    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) => {
            battery: any;
            voltage: number;
            battery_low: boolean;
        };
    } | {
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            illuminance: any;
            illuminance_lux: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    })[];
    toZigbee: {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                detection_period: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    }[];
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    exposes: any[];
    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[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {};
    } | {
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            power: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    })[];
    toZigbee: ({
        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: {
                power_outage_memory: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                overload_protection: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                button_switch_mode: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                button_lock: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                led_disabled_night: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    meta: {
        multiEndpoint: boolean;
    };
    endpoint: () => {
        relay: number;
        usb: number;
    };
    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;
    };
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            contact: boolean;
        };
    })[];
    toZigbee: undefined[];
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    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;
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    exposes: any[];
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
        };
    })[];
    toZigbee: {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                operation_mode: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    }[];
    onEvent: (type: any, data: any, device: any) => Promise<void>;
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<void>;
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    exposes: any[];
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
        };
    })[];
    toZigbee: {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                click_mode: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    }[];
    onEvent: (type: any, data: any, device: any) => Promise<void>;
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<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) => {
            action: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
        };
    })[];
    toZigbee: ({
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                operation_mode: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                click_mode: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    exposes: any[];
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<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[];
        options: exposes.Enum[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                occupied_heating_setpoint: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<void>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    exposes: any[];
    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: {
                [x: number]: any;
            };
        }>;
    }[];
    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;
    };
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<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) => {
            battery: any;
            voltage: number;
            battery_low: boolean;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: string;
        };
    })[];
    toZigbee: undefined[];
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    exposes: (exposes.Numeric | exposes.Enum)[];
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: string;
        };
    })[];
    toZigbee: undefined[];
    endpoint: (device: any) => {
        left: number;
        right: number;
        both: number;
    };
    exposes: (exposes.Numeric | exposes.Enum)[];
    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;
    whiteLabel: {
        vendor: string;
        model: string;
    }[];
    description: string;
    meta: {
        battery: {
            voltageToPercentage: string;
        };
    };
    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;
    };
    fromZigbee: {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => any;
    }[];
    toZigbee: {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<void>;
    }[];
    exposes: any[];
    configure: (device: any, coordinatorEndpoint: any, logger: any) => Promise<void>;
} | {
    zigbeeModel: string[];
    model: string;
    vendor: string;
    description: string;
    fromZigbee: ({
        cluster: string;
        type: string[];
        options: exposes.Binary[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {};
    } | {
        cluster: string;
        type: string[];
        options: exposes.Numeric[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            power: any;
        };
    } | {
        cluster: string;
        type: string[];
        options: any;
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => Promise<any>;
    } | {
        cluster: string;
        type: string[];
        convert: (model: any, msg: any, publish: any, options: any, meta: any) => {
            action: any;
        };
    })[];
    toZigbee: ({
        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: {
                mode_switch: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<{
            state: {
                flip_indicator_light: any;
            };
        }>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    } | {
        key: string[];
        convertSet: (entity: any, key: any, value: any, meta: any) => Promise<void>;
        convertGet: (entity: any, key: any, meta: any) => Promise<void>;
    })[];
    endpoint: (device: any) => {
        left: number;
        center: number;
        right: number;
    };
    meta: {
        multiEndpoint: boolean;
    };
    exposes: any[];
    onEvent: (type: any, data: any, device: any) => Promise<void>;
    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;
    };
})[];
export = _exports;
import exposes = require("../lib/exposes");
//# sourceMappingURL=xiaomi.d.ts.map