/**
 * Optional builtin component DEFINITIONS — names, props schemas, model descriptions and plain-text
 * fallbacks for the components most chat apps want. No visuals: an app renders each with its own
 * look, keyed by name. Use them as-is, pick some, or extend them:
 *
 * ```ts
 * const catalog = defineCatalog([...BUILTIN_COMPONENTS, ...LAYOUT_COMPONENTS, myDealCard]);
 * ```
 */
import { type ComponentDefinition } from './catalog.js';
import type { ChartProps, TableProps } from './registry.js';
type Props = Record<string, unknown>;
/** A fixed-width text table in a code block, at most `max` rows. */
export declare function textTable(columns: readonly {
    key: string;
    label: string;
}[], rows: readonly Props[], max?: number): string;
export interface DiffLine {
    op: 'same' | 'add' | 'del';
    text: string;
}
/** Line diff (LCS) — good enough for snippets up to a few hundred lines. */
export declare function lineDiff(before: string, after: string): DiffLine[];
export declare const DataTable: ComponentDefinition<TableProps>;
export declare const Chart: ComponentDefinition<ChartProps>;
export declare const KpiCards: ComponentDefinition<{
    title?: string;
    items: {
        label: string;
        value: string | number;
        delta?: string;
        trend?: 'up' | 'down' | 'flat';
        hint?: string;
    }[];
}>;
export declare const SourceCards: ComponentDefinition<{
    title?: string;
    items: {
        title: string;
        url?: string;
        snippet?: string;
        source?: string;
    }[];
}>;
export declare const Checklist: ComponentDefinition<{
    title?: string;
    items: {
        label: string;
        done?: boolean;
        note?: string;
    }[];
}>;
export declare const Timeline: ComponentDefinition<{
    title?: string;
    events: {
        date?: string;
        title: string;
        description?: string;
    }[];
}>;
export declare const CodeBlock: ComponentDefinition<Props>;
export declare const Diff: ComponentDefinition<Props>;
export declare const Callout: ComponentDefinition<Props>;
export declare const Stack: ComponentDefinition<Props>;
export declare const Card: ComponentDefinition<Props>;
export declare const Heading: ComponentDefinition<Props>;
export declare const Text: ComponentDefinition<Props>;
export declare const Badge: ComponentDefinition<Props>;
export declare const Link: ComponentDefinition<Props>;
export declare const Image: ComponentDefinition<Props>;
/** Content components: data a model shows. */
export declare const BUILTIN_COMPONENTS: readonly ComponentDefinition<unknown>[];
/** Layout and text primitives, mostly for composing trees (`Stack`, `Card` take children). */
export declare const LAYOUT_COMPONENTS: readonly ComponentDefinition<unknown>[];
export { defineSandbox, Sandbox } from './sandbox.js';
//# sourceMappingURL=builtins.d.ts.map