import Foundation /// Represents a physical recording device bound to a user account via BLE. struct BoundDevice: Codable, Identifiable, Equatable { let id: String // Unique device hardware ID / MAC / Serial var name: String // Display name of the device var peripheralUUID: String // CoreBluetooth Peripheral UUID var boundAt: Date // Date when bound to user account var isConnected: Bool // Connection status (runtime state) var batteryLevel: Int? // Battery percentage (0 - 100) var firmwareVersion: String? // Firmware version var boundUserId: String // User account ID owning this device init( id: String = UUID().uuidString, name: String, peripheralUUID: String = UUID().uuidString, boundAt: Date = Date(), isConnected: Bool = false, batteryLevel: Int? = 85, firmwareVersion: String? = "v1.2.0", boundUserId: String ) { self.id = id self.name = name self.peripheralUUID = peripheralUUID self.boundAt = boundAt self.isConnected = isConnected self.batteryLevel = batteryLevel self.firmwareVersion = firmwareVersion self.boundUserId = boundUserId } } /// Helper structure for BLE scanning discovery results struct DiscoveredBLEDevice: Identifiable, Equatable { let id: String let name: String let rssi: Int let peripheralUUID: String }