import type { ReasoningUIPart } from './types'; import type { Renderer } from '../../types'; export type ChatMessageReasoningTranslations = { /** * The label for a reasoning disclosure */ reasoningLabel: string; }; export type ChatMessageReasoningClassNames = { /** * Class names to apply to a reasoning disclosure */ reasoning: string | string[]; /** * Class names to apply to a reasoning disclosure header */ reasoningHeader: string | string[]; /** * Class names to apply to a reasoning disclosure icon */ reasoningIcon: string | string[]; /** * Class names to apply to a reasoning disclosure label */ reasoningLabel: string | string[]; /** * Class names to apply to a reasoning disclosure chevron */ reasoningChevron: string | string[]; /** * Class names to apply to a reasoning disclosure body */ reasoningBody: string | string[]; /** * Class names to apply to reasoning text */ reasoningText: string | string[]; }; export type ChatMessageReasoningPart = { /** * The received reasoning part */ part: ReasoningUIPart; /** * The reasoning part's index in the full message parts array */ partIndex: number; /** * Whether this reasoning part is currently being produced */ isStreaming: boolean; }; type ChatMessageReasoningProps = { key?: string | number; hidden?: boolean; /** * The received reasoning parts to render */ parts: ChatMessageReasoningPart[]; /** * Whether to parse the reasoning text as Markdown */ parseMarkdown?: boolean; translations: ChatMessageReasoningTranslations; classNames: ChatMessageReasoningClassNames; }; export declare function createChatMessageReasoningComponent({ createElement, }: Pick): (userProps: ChatMessageReasoningProps) => JSX.Element; export {};