import { Icon, Image } from '@finos/fdc3'; export type AppDirectoryApplicationType = 'web' | 'native' | 'citrix' | 'onlineNative' | 'other'; export type WebAppDetails = { url: string; }; export type NativeAppDetails = { path: string; arguments?: string; }; export type CitrixAppDetails = { alias: string; arguments?: string; }; export type OnlineNativeAppDetails = { url: string; }; export type OtherAppDetails = undefined; export type AppDirectoryApplicationDetails = WebAppDetails | NativeAppDetails | CitrixAppDetails | OnlineNativeAppDetails | OtherAppDetails; export type ApplicationHostManifests = { [key: string]: object | string; }; export type AppDirectoryContextResultTypePair = { contexts: string[]; resultType?: string; displayName?: string; }; type AppDirectoryInterop = { intents?: { listensFor?: { [key: string]: AppDirectoryContextResultTypePair; }; raises?: { [key: string]: string[]; }; }; userChannels?: { broadcasts?: string[]; listensFor?: string[]; }; appChannels?: [ { id: string; description?: string; broadcasts?: string[]; listensFor?: string[]; } ]; }; type BaseApplication = { appId: string; title: string; type: AppDirectoryApplicationType; details: AppDirectoryApplicationDetails; version?: string; tooltip?: string; lang?: string; description?: string; categories?: string[]; icons?: Icon[]; screenshots?: Image[]; contactEmail?: string; supportEmail?: string; moreInfo?: string; publisher?: string; hostManifests?: ApplicationHostManifests; interop?: AppDirectoryInterop; }; export type AppDirectoryApplication = BaseApplication & { localizedVersions?: { [key: string]: BaseApplication; }; }; export type LocalAppDirectory = { apps: AppDirectoryApplication[]; host: string; /** * Allows the url of an existing local app directory to be updated or for new entries to be added */ updates?: AsyncIterator; }; /** * Host Manifest record specifically for morgan stanley desktop agent */ export interface IMSHostManifest { singleton?: boolean; } /** * the key used to store the Morgan Stanley host manifest in the hostManifests property of an application directory record */ export declare const MS_HOST_MANIFEST_KEY = "MorganStanley.fdc3-web"; export {};