import { BrowserTypes } from '@finos/fdc3'; import { AppDirectoryApplication } from './app-directory.contracts.js'; import { EventMessage, FullyQualifiedAppIdentifier, IProxyMessagingProvider, ResponseMessage } from './contracts.js'; /** * An interface used by the root agent for publishing messages to one or many proxy agents */ export interface IRootPublisher extends IProxyMessagingProvider { publishResponseMessage(message: ResponseMessage, source: FullyQualifiedAppIdentifier): void; publishEvent(message: EventMessage, appIdentifiers: [FullyQualifiedAppIdentifier, ...FullyQualifiedAppIdentifier[]]): void; /** * waits for the identity assigned to the assigned to the provided connection attempt uuid */ awaitAppIdentity(connectionAttemptUuid: string, app: AppDirectoryApplication): Promise; } /** * A temporary interface used to extend the AddIntentListenerRequest * This will be removed when this feature is added to the FDC3 API and the BrowserTypes.AddIntentListenerRequestPayload is updated to include contextTypes */ export interface AddIntentListenerWithContextRequest extends BrowserTypes.AddIntentListenerRequest { payload: AddIntentListenerWithContextRequestPayload; } export interface AddIntentListenerWithContextRequestPayload extends BrowserTypes.AddIntentListenerRequestPayload { contextTypes?: string[]; }