1export enum ResourcePlatform { 2 ANDROID = 'android', 3 IOS = 'ios', 4} 5 6export enum ResourceTier { 7 MEDIUM = 'medium', 8 LARGE = 'large', 9} 10 11type HardwareSpec = { 12 cpu: string; 13 memory: string; 14 description: string; 15 name: string; 16}; 17 18export type HardwareSpecs = Record<string, HardwareSpec>; 19 20export type HardwareSpecKey = keyof HardwareSpecs; 21 22type HardwareLSpec = { 23 vm: string; 24 extra: string; 25}; 26 27export type HardwareRSpec = object | Record<HardwareSpecKey, HardwareLSpec>; 28 29type ResourceSpec = { 30 name: string; 31 symbol: string; 32 hardware: HardwareRSpec; 33}; 34 35type PlatformSpec = Record<string, ResourceSpec>; 36 37type ResourceSpecs = { 38 [keyof in ResourcePlatform]: PlatformSpec; 39}; 40 41type VMSpec = { 42 cpu: string; 43 memory: string; 44}; 45 46type ResourceSpecData = { 47 resources: ResourceSpecs; 48 hardware: HardwareSpecs; 49 vm: Record<string, VMSpec>; 50}; 51