/** * Options for creating an iframe for a guest application */ export type FrameOptions = { /** * title of the iframe */ title: string; /** * sandbox attribute for the iframe * check https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-sandbox for more details */ sandbox?: string; /** * source url for the iframe */ src?: string; /** * query parameters to be appended to the iframe src url */ queryParams?: string; /** * css style for the iframe * @default 'flex-grow: 1;border: none;margin: 0;padding: 0;display: block;min-width: 100%;height: 100%;' */ style?: string; /** * unique identified of the iframe container */ containerId?: string; /** * permission policy for the guest iframe * check https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/iframe#allow for more details * @example "microphone 'self' https://example.com; geolocation 'none'" */ permissionPolicy?: string; /** * Optional signal to abort iframe creation (e.g. when the host unmounts * before the iframe finishes loading). */ signal?: AbortSignal; }; export declare const FRAME_APP_CONTAINER_ID_PREFIX = "pui-app-container-"; export declare const Frame: { create: ({ id, instanceId, manifestPath, hostUrl, options, }: { id: string; instanceId: string; manifestPath: string; hostUrl: string; options: FrameOptions; }) => Promise; remove: (instanceId: string) => void; get: (instanceId: string) => HTMLIFrameElement; };