import * as React from 'react'; import { ComponentProps, ReactNode } from 'react'; import * as react_jsx_runtime from 'react/jsx-runtime'; import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../ui/collapsible.js'; import '@base-ui/react/collapsible'; interface ReasoningContextValue { isStreaming: boolean; isOpen: boolean; setIsOpen: (open: boolean) => void; duration: number | undefined; } declare const useReasoning: () => ReasoningContextValue; type ReasoningProps = ComponentProps & { isStreaming?: boolean; open?: boolean; defaultOpen?: boolean; onOpenChange?: (open: boolean) => void; duration?: number; }; declare const Reasoning: React.MemoExoticComponent<({ className, isStreaming, open, defaultOpen, onOpenChange, duration: durationProp, children, ...props }: ReasoningProps) => react_jsx_runtime.JSX.Element>; type ReasoningTriggerProps = ComponentProps & { getThinkingMessage?: (isStreaming: boolean, duration?: number) => ReactNode; }; declare const ReasoningTrigger: React.MemoExoticComponent<({ className, children, getThinkingMessage, ...props }: ReasoningTriggerProps) => react_jsx_runtime.JSX.Element>; type ReasoningContentProps = ComponentProps & { children: string; }; declare const ReasoningContent: React.MemoExoticComponent<({ className, children, ...props }: ReasoningContentProps) => react_jsx_runtime.JSX.Element>; export { Reasoning, ReasoningContent, type ReasoningContentProps, type ReasoningProps, ReasoningTrigger, type ReasoningTriggerProps, useReasoning };