import { ReactNode } from 'react'; import { NoteLabels } from './labels'; export interface NoteProps { /** * Maximum visible lines before clamping. Defaults to 3. Set to `0` to * disable clamping entirely — full content renders and the Show More/Less * toggle is never shown. */ lineClamp?: number; labels?: Partial; /** * Renders verbatim inside the caption shell. For markdown source (a * string with `**bold**`, lists, links, etc.) reach for the * `` subcomponent instead — it pipes the string through * the shared {@link MarkdownContent} engine with caption-safe element * mapping. */ children: ReactNode; } export interface NoteMarkdownProps { /** Markdown source. Rendered with caption typography via {@link MarkdownContent}. */ content: string; /** Maximum visible lines before clamping. Defaults to 3. */ lineClamp?: number; labels?: Partial; } /** * Auxiliary slot for an optional explanatory note below a widget. Clamps to * `lineClamp` lines (default 3) and reveals a Show More/Less toggle when the * content overflows. Overflow detection re-runs on container resize via the * shared singleton ResizeObserver. * * Renders `children` verbatim through caption typography. For markdown * source, use the {@link NoteMarkdown} (`Note.Markdown`) subcomponent. */ declare function NoteBase({ lineClamp, labels, children }: NoteProps): import("react/jsx-runtime").JSX.Element; /** * Markdown variant of {@link Note}. Pipes the `content` string through the * shared {@link MarkdownContent} engine with caption-safe element mapping * (headings demoted, links open in new tabs, images/HTML stripped). */ declare function NoteMarkdown({ content, lineClamp, labels }: NoteMarkdownProps): import("react/jsx-runtime").JSX.Element; export declare const Note: typeof NoteBase & { Markdown: typeof NoteMarkdown; }; export {};