import { BaseSuccessResponseModel } from '../../../modules/api/models/api-response.model'; import { ChannelCategory, DataTypeType, DeviceCategory, PermissionType, PropertyCategory } from '../../../modules/devices/devices.constants'; export declare class Z2mExposeInfoModel { type: string; name?: string; property?: string; label?: string; access?: number; unit?: string; } export declare class Zigbee2mqttDiscoveredDeviceModel { ieeeAddress: string; friendlyName: string; type: 'Router' | 'EndDevice'; modelId?: string; manufacturer?: string; model?: string; description?: string; powerSource?: string; supported: boolean; available: boolean; adopted: boolean; adoptedDeviceId?: string; exposes: Z2mExposeInfoModel[]; suggestedCategory?: DeviceCategory; } export declare class Zigbee2mqttDiscoveredDeviceResponseModel extends BaseSuccessResponseModel { data: Zigbee2mqttDiscoveredDeviceModel; } export declare class Zigbee2mqttDiscoveredDevicesResponseModel extends BaseSuccessResponseModel { data: Zigbee2mqttDiscoveredDeviceModel[]; } export declare class Z2mPropertyMappingPreviewModel { category: PropertyCategory; name: string; z2mProperty: string; dataType: DataTypeType; permissions: PermissionType[]; format: (string | number)[] | null; required: boolean; currentValue: string | number | boolean | null; invalid?: string | number | boolean | null; } export declare class Z2mSuggestedChannelModel { category: ChannelCategory; name: string; confidence: 'high' | 'medium' | 'low'; } export declare class Z2mExposeMappingPreviewModel { exposeName: string; exposeType: string; status: 'mapped' | 'partial' | 'unmapped' | 'skipped'; suggestedChannel: Z2mSuggestedChannelModel | null; suggestedProperties: Z2mPropertyMappingPreviewModel[]; missingRequiredProperties: PropertyCategory[]; } export declare class Z2mMappingWarningModel { type: 'missing_required_channel' | 'missing_required_property' | 'unsupported_expose' | 'unknown_expose_type' | 'device_not_available' | 'device_already_adopted'; exposeName?: string; message: string; suggestion?: string; } export declare class Z2mSuggestedDeviceModel { category: DeviceCategory; name: string; confidence: 'high' | 'medium' | 'low'; } export declare class Z2mDeviceInfoModel { ieeeAddress: string; friendlyName: string; manufacturer: string | null; model: string | null; description: string | null; } export declare class Z2mMappingPreviewModel { z2mDevice: Z2mDeviceInfoModel; suggestedDevice: Z2mSuggestedDeviceModel; exposes: Z2mExposeMappingPreviewModel[]; warnings: Z2mMappingWarningModel[]; readyToAdopt: boolean; } export declare class Z2mMappingPreviewResponseModel extends BaseSuccessResponseModel { data: Z2mMappingPreviewModel; }