import { type IframeHTMLAttributes } from "react"; import { type EmbeddedAppUrlOptions } from "./protocol.js"; export interface EmbeddedAppRef { iframe: HTMLIFrameElement | null; origin: string | null; postMessage(name: string, payload?: TPayload): boolean; request(name: string, payload?: TPayload, options?: { timeoutMs?: number; }): Promise; focus(): void; } export interface EmbeddedAppMessageInfo { name: string; payload: TPayload; event: MessageEvent; ref: EmbeddedAppRef; } export interface EmbeddedAppProps extends Omit, "src" | "onLoad"> { url: string; /** * Origin used when posting messages to the iframe. Defaults to url's origin. */ targetOrigin?: string; /** * Origins allowed to send messages back. Defaults to targetOrigin. */ allowedOrigins?: string[]; /** * Adds `embedded=1` by default. Pass false to use the URL untouched. */ embed?: boolean | EmbeddedAppUrlOptions; onLoad?: (ref: EmbeddedAppRef) => void; onReady?: (payload: unknown, event: MessageEvent, ref: EmbeddedAppRef) => void; onMessage?: (name: string, payload: TPayload, event: MessageEvent, ref: EmbeddedAppRef) => void; onRequest?: (name: string, payload: unknown, event: MessageEvent, ref: EmbeddedAppRef) => unknown | Promise; } export declare function isEmbeddedAppMessageSource(event: Pick, iframe: Pick | null): boolean; export declare const EmbeddedApp: import("react").ForwardRefExoticComponent>; //# sourceMappingURL=react.d.ts.map