import { Observable } from 'rxjs'; import { ContextOf } from './internal/contextTypesV2'; import { EntryPointTemplate } from './internal/entryPointTypesV2'; export type ContextFunctionCall = (contextId: string, callId: string, name: string, args: ReadonlyArray) => Observable; export type ContextFunctionCancel = (callId: string) => void; /** * Create a new Entry Point for the current application. * @param template The definition of the Entry Point to create. * @returns An observable for contexts created through this entry point. */ export type EntryPointCreator = (template: TTemplate) => Observable>; export type Initializer = (createEntryPoint: EntryPointCreator) => void; export interface View { widgetId: string; window: Window; } /** API to communicate with the parent app. */ export interface Bridge { proxyContextFunctionCall: ContextFunctionCall; proxyContextFunctionCancel: ContextFunctionCancel; registerView(view: View): void; initialize(initializer: Initializer): void; } export declare function getBridge(): Bridge; export * from './internal/asyncTypesV2'; export * from './internal/attachmentTypesV2'; export * from './internal/channelTypesV2'; export * from './internal/commentTypesV2'; export * from './internal/contactTypesV2'; export * from './internal/contextTypesV2'; export * from './internal/conversationTypesV2'; export * from './internal/draftTypesV2'; export * from './internal/entryPointTypesV2'; export * from './internal/errorTypesV2'; export * from './internal/httpTypesV2'; export * from './internal/idTypesV2'; export * from './internal/inboxTypesV2'; export * from './internal/linkTypesV2'; export * from './internal/messageTypesV2'; export * from './internal/paginationTypesV2'; export * from './internal/recipientTypesV2'; export * from './internal/tagTypesV2'; export * from './internal/teammateTypesV2'; export * from './internal/topicTypesV2'; export * from './internal/widgetTypesV2';