import { Accessor, JSX } from 'solid-js'; export type ProseSize = 'xs' | 'sm' | 'base' | 'lg'; export interface ChatConfigValue { /** Prose/text size for messages, markdown, and UI elements */ proseSize: Accessor; /** Shiki theme for code blocks */ codeTheme: Accessor; /** Node the kit's overlays portal into; undefined → document.body */ portalMount: Accessor; /** Whether code blocks are syntax-highlighted; false → plain text, no Shiki loaded */ codeHighlight: Accessor; } export interface ChatConfigProps { proseSize?: ProseSize; codeTheme?: string; portalMount?: HTMLElement; codeHighlight?: boolean; children: JSX.Element; } /** * Provides chat-wide appearance settings to all child components. * Set once at the top level — MessageContent, Markdown, CodeBlock, * ConversationList, and PromptInput all read from this. */ export declare function ChatConfig(props: ChatConfigProps): JSX.Element; /** Read the current chat config. Returns defaults if no provider is present. */ export declare function useChatConfig(): ChatConfigValue; /** Maps prose size to Tailwind prose class */ export declare function proseClass(size: ProseSize): string; /** Maps prose size to a text class for non-prose elements (sidebar, input) */ export declare function textClass(size: ProseSize): string;