public enum SizingLimits { public struct Request: Codable, Equatable, Sendable { public let systemType: SystemType public let houseLoad: HouseLoad? public init(systemType: SystemType, houseLoad: HouseLoad? = nil) { self.systemType = systemType self.houseLoad = houseLoad } } public struct Response: Codable, Equatable, Sendable { public let oversizing: SizingLimits.Limits public let undersizing: SizingLimits.Limits public init(oversizing: SizingLimits.Limits, undersizing: SizingLimits.Limits) { self.oversizing = oversizing self.undersizing = undersizing } } public struct Limits: Codable, Equatable, Sendable { public let heating: Int public let coolingTotal: Int public let coolingSensible: Int? public let coolingLatent: Int? public init( heating: Int, coolingTotal: Int, coolingSensible: Int? = nil, coolingLatent: Int? = nil ) { self.heating = heating self.coolingTotal = coolingTotal self.coolingSensible = coolingSensible self.coolingLatent = coolingLatent } } }