import { PopupModal } from '../../schema/index.ts'; /** * What the Publish popover offers for copying. The markup a visitor's site * needs is the *host's* business, not ours: a host that stores forms in its own * database embeds them with its own script tag, its own element, and its own * id. So the host supplies the snippet and the editor supplies the popover * around it. * * - A **string** is used as-is, with `{{id}}` standing for the form's id. * - A **function** is called when the popover opens and may return a promise, * for the common case where the id doesn't exist yet: publishing a new form * saves it, and the save is what mints the id the snippet has to carry. * - **null** means no popover at all — a host with its own publish confirmation * doesn't want ours on top of it. * * Unset falls back to the placeholder snippet below. */ export type EmbedSnippet = string | ((form: PopupModal) => string | Promise) | null; /** * Popover shown after Publish. Surfaces the embed snippet (script tag + web * component tag) with a copy button, host-supplied via `snippet` and awaited * when it's a function. Rendered inline within the toolbar — the * builder lives in a shadow root, so portaling to document.body would escape the * scoped CSS. */ export declare function PublishPopover({ popup, snippet: configured, onUrlsChange, onClose, }: { popup: PopupModal; /** The host's embed markup. See EmbedSnippet. */ snippet?: EmbedSnippet; /** Edits the form's `urls`. Without it the addresses section is left out. */ onUrlsChange?: (urls: string[] | undefined) => void; onClose: () => void; }): import("react").JSX.Element;