declare global { interface Window { on?: (event: string, callback: Function) => void; _formcraftsGlobalEvents?: { [key: string]: Function[]; }; } } type EmbedOptions = { form: string; lang?: string; target: HTMLElement; redirectWithin?: boolean; seamless?: boolean; width?: number | null; values?: Record; formBase?: string; /** HTTP(S) page URL override for embeds inside isolated wrappers. */ pageUrl?: string; accessCode?: string; _params?: URLSearchParams; }; type EmbedPopupOptions = { form: string; idSuffix?: string; lang?: string; width?: number | null; redirectWithin?: boolean; appendTo?: HTMLElement; values?: Record; formBase?: string; /** HTTP(S) page URL override for embeds inside isolated wrappers. */ pageUrl?: string; accessCode?: string; _params?: URLSearchParams; }; export declare function observeVisibility(targets: Element | Element[], callback: () => void): void; /** * Creates an inline form using an iframe. * * @param {EmbedOptions} options - The options for the form. * @returns {ReturnType} The return type of the createReturn function. */ export declare function createInlineForm(options: EmbedOptions): { on(event: string, callback: Function): void; values(values: Record): void; destroy(): void; }; export declare function createPopup(options: EmbedPopupOptions): { elementId: string; on(event: string, callback: Function): void; load(): void; values(values: Record): void; open(): void; close(): void; destroy(): void; }; export {};