import * as React from 'react'; export interface ReasoningLabels { thinking?: string; thoughtFor?: (seconds: string) => string; } export interface ReasoningProps { /** Reasoning text. */ text: string; /** 'streaming' while reasoning is in progress, 'done' when finished. */ state: 'streaming' | 'done'; /** How long the model reasoned, shown in the summary once done. */ durationMs?: number | undefined; /** Initial expanded state of the reasoning panel. */ defaultOpen?: boolean | undefined; /** Overrides for the built-in, localizable UI strings. */ labels?: ReasoningLabels | undefined; /** Class name merged onto the root element. */ className?: string | undefined; } /** * REQ-SURF-122: Base UI Collapsible. Auto-opens when streaming starts and * auto-closes once on done unless the user toggled during streaming. The panel * stays mounted (hidden when closed) so `aria-controls` always resolves. The * duration is `durationMs`, else `performance.now()` between the first * streaming commit and `done`. */ export declare function Reasoning({ text, state, durationMs, defaultOpen, labels, className }: ReasoningProps): React.JSX.Element; //# sourceMappingURL=Reasoning.d.ts.map