import { BaseSuccessResponseModel } from '../../api/models/api-response.model'; import { ChannelCategory, DeviceCategory, PropertyCategory } from '../devices.constants'; export declare enum ValidationIssueSeverity { ERROR = "error", WARNING = "warning" } export declare enum ValidationIssueType { MISSING_CHANNEL = "missing_channel", MISSING_PROPERTY = "missing_property", INVALID_DATA_TYPE = "invalid_data_type", INVALID_PERMISSIONS = "invalid_permissions", INVALID_FORMAT = "invalid_format", UNKNOWN_CHANNEL = "unknown_channel", DUPLICATE_CHANNEL = "duplicate_channel", CONSTRAINT_ONE_OF_VIOLATION = "constraint_one_of_violation", CONSTRAINT_ONE_OR_MORE_OF_VIOLATION = "constraint_one_or_more_of_violation", CONSTRAINT_MUTUALLY_EXCLUSIVE_VIOLATION = "constraint_mutually_exclusive_violation" } export declare class ValidationIssueModel { type: ValidationIssueType; severity: ValidationIssueSeverity; channelCategory?: ChannelCategory; channelId?: string; propertyCategory?: PropertyCategory; propertyId?: string; message: string; expected?: string; actual?: string; } export declare class DeviceValidationResultModel { deviceId: string; deviceIdentifier: string | null; deviceName: string; deviceCategory: DeviceCategory; pluginType: string; isValid: boolean; issues: ValidationIssueModel[]; } export declare class ValidationSummaryModel { totalDevices: number; validDevices: number; invalidDevices: number; totalIssues: number; errorCount: number; warningCount: number; } export declare class DevicesValidationModel { summary: ValidationSummaryModel; devices: DeviceValidationResultModel[]; } export declare class DevicesValidationResponseModel extends BaseSuccessResponseModel { data: DevicesValidationModel; } export declare class DeviceValidationResponseModel extends BaseSuccessResponseModel { data: DeviceValidationResultModel; }