import { ReactNode } from 'react'; import { StyleString } from '@react-spectrum/s2/style'; import { GridListItemProps, GridListLoadMoreItemProps, GridListProps } from 'react-aria-components/GridList'; export interface PromptFocusContextValue { onFocusChange: (isFocused: boolean) => void; } export declare const PromptFocusContext: import("react").Context; export interface ChatProps { /** * Spectrum-defined styles, returned by the `style()` macro. */ styles?: StyleString; /** * Children of the chat, such as Thread, PromptField, and ThreadScrollButton. */ children?: ReactNode; } export declare const Chat: (props: ChatProps & import("react").RefAttributes>) => import("react").ReactElement> | null; export interface ThreadProps extends Pick, 'items' | 'children' | 'aria-label' | 'aria-labelledby'> { /** * Spectrum-defined styles, returned by the `style()` macro. */ styles?: StyleString; /** * The maximum distance in px from the bottom of the content for the * viewport to be considered "near the end". While near the end, appended content and streaming * size changes will keep the viewport pinned to the latest output. * * @default 100 */ scrollEndThreshold?: number; } export declare function Thread(props: ThreadProps): import("react").JSX.Element; export interface ThreadScrollButtonProps { children?: ReactNode; } export declare function ThreadScrollButton({ children }: ThreadScrollButtonProps): import("react").JSX.Element | null; export interface ThreadItemProps extends Pick { /** * Spectrum-defined styles, returned by the `style()` macro. */ styles?: StyleString; /** Whether or not the item's content is currently being streamed in. */ isStreaming?: boolean; /** Announce textValue on mount even when isStreaming is provided. */ shouldAnnounceOnMount?: boolean; } export declare function ThreadItem(props: ThreadItemProps): import("react").JSX.Element; export interface ThreadLoadMoreItemProps extends GridListLoadMoreItemProps { } export declare const ThreadLoadMoreItem: (props: GridListLoadMoreItemProps & import("react").RefAttributes) => import("react").ReactElement> | null;