import { type LucideIcon } from 'lucide-react'; import { type ComponentPropsWithRef, type ReactNode } from 'react'; export type ChainOfThoughtStatus = 'complete' | 'active' | 'pending'; export type ChainOfThoughtIcon = LucideIcon; type ChainOfThoughtContextValue = { contentId: string; isOpen: boolean; setIsOpen: (open: boolean) => void; }; export type ChainOfThoughtProps = Omit, 'defaultValue' | 'onChange'> & { defaultOpen?: boolean; onOpenChange?: (open: boolean) => void; open?: boolean; }; export type ChainOfThoughtHeaderProps = ComponentPropsWithRef<'button'> & { icon?: ChainOfThoughtIcon; }; export type ChainOfThoughtContentProps = ComponentPropsWithRef<'div'> & { keepMounted?: boolean; }; export type ChainOfThoughtStepProps = ComponentPropsWithRef<'div'> & { description?: ReactNode; icon?: ChainOfThoughtIcon; label: ReactNode; status?: ChainOfThoughtStatus; }; export type ChainOfThoughtSearchResultsProps = ComponentPropsWithRef<'div'>; export type ChainOfThoughtSearchResultProps = ComponentPropsWithRef<'span'>; export type ChainOfThoughtImageProps = ComponentPropsWithRef<'div'> & { caption?: ReactNode; }; declare const useChainOfThought: () => ChainOfThoughtContextValue; declare const ChainOfThoughtHeader: { ({ children, className, icon: Icon, onClick, ref, type, ...props }: ChainOfThoughtHeaderProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; declare const ChainOfThoughtContent: { ({ children, className, keepMounted, ref, ...props }: ChainOfThoughtContentProps): import("react/jsx-runtime").JSX.Element | null; displayName: string; }; declare const ChainOfThoughtStep: { ({ children, className, description, icon: Icon, label, ref, status, ...props }: ChainOfThoughtStepProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; declare const ChainOfThoughtSearchResults: { ({ className, ref, ...props }: ChainOfThoughtSearchResultsProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; declare const ChainOfThoughtSearchResult: { ({ children, className, ref, ...props }: ChainOfThoughtSearchResultProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; declare const ChainOfThoughtImage: { ({ caption, children, className, ref, ...props }: ChainOfThoughtImageProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; declare const ChainOfThought: { ({ children, className, defaultOpen, onOpenChange, open, ref, ...props }: ChainOfThoughtProps): import("react/jsx-runtime").JSX.Element; displayName: string; } & { Content: { ({ children, className, keepMounted, ref, ...props }: ChainOfThoughtContentProps): import("react/jsx-runtime").JSX.Element | null; displayName: string; }; Header: { ({ children, className, icon: Icon, onClick, ref, type, ...props }: ChainOfThoughtHeaderProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; Image: { ({ caption, children, className, ref, ...props }: ChainOfThoughtImageProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; Root: { ({ children, className, defaultOpen, onOpenChange, open, ref, ...props }: ChainOfThoughtProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; SearchResult: { ({ children, className, ref, ...props }: ChainOfThoughtSearchResultProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; SearchResults: { ({ className, ref, ...props }: ChainOfThoughtSearchResultsProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; Step: { ({ children, className, description, icon: Icon, label, ref, status, ...props }: ChainOfThoughtStepProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; }; export { ChainOfThought, ChainOfThoughtContent, ChainOfThoughtHeader, ChainOfThoughtImage, ChainOfThoughtSearchResult, ChainOfThoughtSearchResults, ChainOfThoughtStep, useChainOfThought, };