import { type JsonResolvedValue } from '@hashbrownai/core'; import type { ComponentType } from 'react'; import { type MagicTextRendererProps } from './magic-text-renderer'; import { type ExposedComponent } from './expose-component.fn'; interface MarkdownNodeProp { complete: boolean; partialValue: JsonResolvedValue; value?: string; } interface ExposedMarkdownComponentProps extends Omit { children?: MarkdownNodeProp; } /** * Configuration for `exposeMarkdown`. * * @public */ export type ExposeMarkdownConfig = Omit & { /** * Component tag name exposed to the LLM. * * @default "Markdown" */ name?: string; /** * LLM-facing component description. * * When omitted, a default description is used. */ description?: string; /** * When true, appends citation formatting guidance to the default description. * * Ignored when `description` is explicitly provided. * * @default false */ citations?: boolean; }; /** * Exposes a markdown renderer component to the LLM while deriving parser completion state from `s.node(...)`. * * The LLM controls only the `children` prop. All other renderer behavior is developer-controlled. * * @public */ export declare function exposeMarkdown(config?: ExposeMarkdownConfig): ExposedComponent>; export {}; //# sourceMappingURL=expose-markdown.fn.d.ts.map