import { IrisAppManifest } from "@trackunit/iris-app-api"; import { AssetBranding, EngineBranding } from "./Branding"; import { FaultEnrichment } from "./FaultEnrichment"; export interface IrisAppOemManifest extends IrisAppManifest { /** * OEM specific configuration. */ oem?: OemConfiguration; /** * OEM Branding, where logos and color will be added for branding. * * @deprecated Use oem.branding instead. */ oemBranding?: AssetBranding | EngineBranding; } /** * Common properties for OEM configuration. */ interface CommonOemConfiguration { /** * Name is brand used/filled out then the asset needs to match the filled out property. * The brand of the OEM to own these specifications. Used to determine which assets to apply to. */ name: string; /** * Event enrichment configuration. */ faultEnrichment?: FaultEnrichment; } /** * Configuration specific to OEMs. */ export type OemConfiguration = (CommonOemConfiguration & { /** * Type of OEM. e.g.: EngineOem, MachineOem */ type: "EngineOem"; /** * OEM Branding, where logos and color will be added for branding. * Conditionally set to EngineBranding or AssetBranding based on the type. */ branding?: EngineBranding; }) | (CommonOemConfiguration & { /** * Type of OEM. e.g.: EngineOem, MachineOem */ type: "MachineOem"; /** * OEM Branding, where logos and color will be added for branding. * Conditionally set to EngineBranding or AssetBranding based on the type. */ branding?: AssetBranding; }); export type PublicIrisAppOemManifest = Omit; export {};