import type { AppIdentifier, BrowserTypes, Channel, DesktopAgent, PrivateChannel } from '@finos/fdc3'; import { IProxyMessagingProvider } from '../contracts.js'; /** * created to avoid circular dependencies */ export interface IChannelFactory { createPublicChannel(details: BrowserTypes.Channel, appIdentifier: AppIdentifier, messagingProvider: IProxyMessagingProvider): Channel; createPrivateChannel(details: BrowserTypes.Channel, appIdentifier: AppIdentifier, messagingProvider: IProxyMessagingProvider): PrivateChannel; } export type ContextListener = Pick & Pick;