import type { ComponentDefinition } from "../types.js"; import { type UrlPolicy } from "../url-policy.js"; /** * Options for `getComponentsPartialPrompt`. * * @example * const options: ComponentsPromptOptions = { definitions: defs, urlPolicy }; */ export type ComponentsPromptOptions = { /** Your definitions: the same components the renderer has. One with `hidden: true` is left out. */ definitions: ComponentDefinition[]; /** The renderer's `urlPolicy`, so the model writes URLs the renderer loads. Omitted: the renderer's defaults. */ urlPolicy?: UrlPolicy; /** Your text, appended verbatim as this section's trailing `## Note`. */ note?: string; }; /** * The component menu, from your definitions. A payload with an `id` prints once, under `## Common Events`; a URL * prop adds `## URL Props`. Throws on a duplicate name, or on two different payloads with one `id`. * * @example * getComponentsPartialPrompt({ definitions: defs }); * * @example * getComponentsPartialPrompt({ definitions: [...defs, BadgeDef], urlPolicy: { hosts: ["cdn.example.com"] } }); */ export declare function getComponentsPartialPrompt({ definitions: defs, urlPolicy, note }: ComponentsPromptOptions): string;