export interface TuyaDeviceModel { [key: string]: any; devId: string; uuid: string; name: string; productId: string; roomId: number; homeId: number; standard: boolean; latitude: string; longitude: string; category: string; categoryCode: string; timezoneId: string; verSw: string; ip?: string; mac?: string; isOnline: boolean; isCloudOnline: boolean; isLocalOnline: boolean; dpCodes: { [key: string]: string | boolean | number; }; dps: { [key: string]: string | boolean | number; }; standSchemaModel: { functionSchemaList: { strategyValue: string; relationDpIdMaps: { [key: string]: number; }; valueRange: string; strategyCode: string; standardCode: string; standardType: string; }[]; statusSchemaList: { dpCode: string; strategyValue: string; relationDpIdMaps: { [key: string]: number; }; valueRange: string; strategyCode: string; standardType: 'Boolean' | 'Integer' | 'String'; }[]; isProductCompatibled: boolean; }; schema: string; displayMsgs: { [key: string]: string; }; } export declare type DeviceBean = { productId: string; devId: string; verSw: string; name: string; dps: DeviceDps; }; export declare type DevListenerParams = { devId: string; }; export declare type DevListenerType = 'onDpUpdate' | 'onRemoved' | 'onStatusChanged' | 'onNetworkStatusChanged' | 'onDevInfoUpdate' | 'onFirmwareUpgradeSuccess' | 'onFirmwareUpgradeFailure' | 'onFirmwareUpgradeProgress'; export declare function registerDevListener(params: DevListenerParams, type: DevListenerType, callback: (data: any) => void): void; export declare function unRegisterAllDevListeners(): void; export declare type DeviceDpValue = boolean | number | string; export declare type DeviceDps = { [dpId: string]: DeviceDpValue; }; export declare type SendParams = { devId: string; command: DeviceDps; }; export declare function send(params: SendParams): Promise; export declare type RemoveDeviceParams = { devId: string; }; export declare function removeDevice(params: RemoveDeviceParams): Promise; export declare type RenameDeviceParams = { devId: string; name: string; }; export declare function renameDevice(params: RenameDeviceParams): Promise; export declare type GetDataPointStatsParams = { devId: string; DataPointTypeEnum: 'DAY' | 'WEEK' | 'MONTH'; number: number; dpId: string; startTime: number; }; export declare function getDataPointStat(params: GetDataPointStatsParams): Promise; export declare function getDp(params: { devId: string; dpId: string; }): Promise; export declare function getDevice(params: { devId: string; }): Promise;