import { type DeviceId } from './device_id.js' import { type PropertySnapshot, type ParameterSnapshot } from './device_parameter.js' import { type DeviceComplianceInfo } from '../configuration/compliance.js' import { type DataModel, type GpnStatus, type GpnCircuitBreaker } from './device.js' import type { DeviceReference } from '../../services/references/types.js' export interface DeviceRecord { identifier?: string deviceId: DeviceId properties: PropertySnapshot[] parameters: ParameterSnapshot[] gpnStatus?: GpnStatus dataModel?: DataModel gpnCircuitBreaker?: GpnCircuitBreaker lastGpnSentDate?: Date | null operationalStatus?: string lastFailureReason?: string compliance?: DeviceComplianceInfo provisioningCode?: string references?: DeviceReference[] lastPeriodicInformAt?: Date lastRemoteIp?: string updatedAt?: Date createdAt?: Date }