import { ContentItem, CustomFieldDef, PopupModal } from './types'; /** * The form's items, minus anything there is no way to render: a null or a bare * string where an item belongs, and any `type` the renderer has no case for. * * Every read of `contentItems` in the renderer goes through here, so nothing * deeper in has to ask again — which matters because a `.type` or an `.order` * read on a null entry throws mid-render, and React answers a throw by * unmounting the tree it escaped from. One malformed entry used to cost the * whole card: a blank space on the page where the form should have been. */ export declare function renderableItems(popup: PopupModal): ContentItem[]; /** * The form without the items no renderer can draw. Quiet — pair it with * {@link reportUnsupportedItems} at the one point where saying so is useful. * * Returns the form it was given when there's nothing to drop, matching * `withPinnedFields` and `withEnforcedFieldRules` — the editor leans on that * identity to tell "the form arrived needing a correction" from "the form * arrived fine", and only notifies the host in the first case. */ export declare function withoutUnsupportedItems(popup: PopupModal): PopupModal; /** * Name every item that had to be left out, on the console. * * Separate from the drop above because the drop is cheap and happens on every * read, while this is a message meant to be read once. Called from the editor as * a form arrives — the last moment an author is still looking at a screen and * can be told the field they were promised isn't going to work. */ export declare function reportUnsupportedItems(popup: PopupModal): void; /** * The host's fields, minus any whose `type` doesn't map onto something we can * render, reporting what it dropped. Keeps an unrenderable field out of the * picker, so an author can't add one and watch it vanish from the live form. * * Loud, unlike the item drop above, because it is read from a memo rather than * on every render — see the call in `FormEditor`. * * Same identity contract: the array it was given, when all of them are fine. */ export declare function supportedCustomFields(fields: CustomFieldDef[] | undefined): CustomFieldDef[] | undefined;