export interface EmbeddedAppMessageEvent { name: string; payload: TPayload; event: MessageEvent; } export type EmbeddedAppMessageHandler = (message: EmbeddedAppMessageEvent) => void; export type EmbeddedAppRequestHandler = (message: EmbeddedAppMessageEvent) => unknown | Promise; export interface EmbeddedAppBridgeOptions { /** * Exact parent origin to post back to. Defaults to document.referrer's * origin when available. If no origin can be resolved, sends fail closed. */ parentOrigin?: string; /** * Origins allowed to send messages to the embedded app. Defaults to the * resolved parent origin. */ allowedOrigins?: string[]; onMessage?: EmbeddedAppMessageHandler; onRequest?: EmbeddedAppRequestHandler; targetWindow?: Window | null; currentWindow?: Window; } export interface EmbeddedAppBridge { parentOrigin: string | null; postMessage(name: string, payload?: TPayload): boolean; request(name: string, payload?: TPayload, options?: { timeoutMs?: number; }): Promise; ready(payload?: TPayload): boolean; close(payload?: TPayload): boolean; destroy(): void; } export declare function createEmbeddedAppBridge(options?: EmbeddedAppBridgeOptions): EmbeddedAppBridge; export declare function sendEmbeddedAppMessage(name: string, payload?: TPayload, options?: Pick): boolean; export declare function announceEmbeddedAppReady(payload?: TPayload, options?: Pick): boolean; //# sourceMappingURL=bridge.d.ts.map