import { AttachmentListProps } from './AttachmentList'; import { StyleString } from '@react-spectrum/s2/style'; import { Cell } from './loader/data'; import { MenuItemProps } from '@react-spectrum/s2/Menu'; import { PopoverProps } from '@react-spectrum/s2/Popover'; import { Position, TokenFieldSegment, TokenFieldValue, TokenSegment } from 'react-stately/useTokenFieldState'; import { TokenProps } from 'react-aria-components/TokenField'; import { VoiceInputErrorCode } from './useVoiceInput'; export interface PromptFieldAttachment { id: string; file: File; image: string; } export interface PromptFieldProps { children: React.ReactNode; acceptedAttachmentTypes?: string[]; value?: TokenFieldValue; defaultValue?: TokenFieldValue; onChange?: (value: TokenFieldValue) => void; attachments?: PromptFieldAttachment[]; defaultAttachments?: PromptFieldAttachment[]; onAttachmentsChange?: (attachments: PromptFieldAttachment[]) => void; onSubmit?: (prompt: TokenFieldValue, attachments: PromptFieldAttachment[]) => void; isGenerating?: boolean; onStop?: () => void; onAddAttachments?: (attachments: PromptFieldAttachment[]) => void; onRemoveAttachments?: (attachments: PromptFieldAttachment[]) => void; styles?: StyleString; variant?: 'balanced' | 'prominent' | 'subtle'; brandColor?: string; } export declare class PromptFieldValue extends TokenFieldValue { tokenize(text: string): TokenFieldSegment[]; } export declare const PromptField: import("react").ForwardRefExoticComponent>>; export interface PromptFieldAttachmentListProps extends AttachmentListProps { children?: (attachment: PromptFieldAttachment) => React.ReactNode; } export declare function PromptFieldAttachmentList(props: PromptFieldAttachmentListProps): import("react").JSX.Element | null; export interface PromptTokenFieldProps { completionTrigger?: RegExp; renderCompletions?: (filterValue: string) => React.ReactNode[] | null | Promise; children?: (segment: TokenSegment) => React.ReactElement; pixelLoader?: Cell[] | Cell[][]; placeholder?: string; onKeyDown?: (e: React.KeyboardEvent) => void; } export declare function PromptTokenField(props: PromptTokenFieldProps): import("react").JSX.Element; export interface PromptTokenFieldPopoverProps extends Omit { filterAnchor?: Position | null; items?: React.ReactNode[] | null | Promise; isFocused?: boolean; } export interface PromptTokenProps extends Omit { children: React.ReactNode; } export declare function PromptToken(props: PromptTokenProps): import("react").JSX.Element; export interface PromptFieldToolbarProps { children: React.ReactNode; } export declare function PromptFieldToolbar(props: PromptFieldToolbarProps): import("react").JSX.Element; export interface PromptFieldSubmitButtonProps { } export declare function PromptFieldSubmitButton(props: PromptFieldSubmitButtonProps): import("react").JSX.Element; export interface PromptFieldVoiceButtonProps { lang?: string; isDisabled?: boolean; onError?: (code: VoiceInputErrorCode) => void; } export declare function PromptFieldVoiceButton(props: PromptFieldVoiceButtonProps): import("react").JSX.Element | null; export interface InsertMenuItemProps { children: React.ReactNode; } export declare function InsertMenuButton(props: InsertMenuItemProps): import("react").JSX.Element; export declare function AttachFileMenuItem(): import("react").JSX.Element; export interface InsertTokenMenuItemProps extends Omit { } export declare function InsertTokenMenuItem(props: InsertTokenMenuItemProps): import("react").JSX.Element; export interface InsertTextMenuItemProps extends Omit { } export declare function InsertTextMenuItem(props: InsertTextMenuItemProps): import("react").JSX.Element; export interface CommandMenuItemProps extends Omit { } export declare function CommandMenuItem(props: CommandMenuItemProps): import("react").JSX.Element;