import type { ReactElement, SyntheticEvent } from "react"; import React from "react"; import type { PromptTextAreaProps } from "./PromptTextArea"; import type { AutocompleteListProps } from "./AutocompleteList"; import { type ListItemValue } from "./CategoryList"; import { type ButtonProps } from "../Button/Button"; import type { PolymorphicComponentPropsWithRef } from "../../types"; import type { RoundButtonProps } from "../RoundButton/RoundButton"; import type { IconName } from "../Icon/Icon"; import { type BasePromptInputHeaderProps } from "./PromptInputHeader"; type SendButtonProps = Omit & { icon?: "arrow-up" | "search" | "arrow-right" | "voice"; }; type BottomToolbarConfig = { /** Toolbar elements below text area */ leftContent?: ReactElement; rightContent?: ReactElement; }; export type PromptInputProps = { "data-e2e-test-id"?: string; header?: BasePromptInputHeaderProps; variant?: "ai"; skipAIAnimation?: boolean; bottomToolbar?: BottomToolbarConfig; sendButtonProps?: SendButtonProps; /** Currently shows send button processing state */ isProcessing?: boolean; clearButtonAriaLabel?: string; hint?: ReactElement; /** Shows in the clear button space in empty state */ emptyStateTopRightContent?: ReactElement; onClear: () => void; /** Called when user selects (or rejects) a list item from autocomplete list */ onComplete?: ({ value, category, evt, index, }: { value: ListItemValue; category?: string; evt?: SyntheticEvent; index?: number; }) => void; /** Called on Enter key to submit the form */ onEnterKey: () => void; /** Renders an icon to the left inside the textarea */ leftIcon?: IconName; } & Omit & Pick; declare const PromptInputComponent: React.ForwardRefExoticComponent<{ "data-e2e-test-id"?: string; header?: BasePromptInputHeaderProps; variant?: "ai"; skipAIAnimation?: boolean; bottomToolbar?: BottomToolbarConfig; sendButtonProps?: SendButtonProps; /** Currently shows send button processing state */ isProcessing?: boolean; clearButtonAriaLabel?: string; hint?: ReactElement; /** Shows in the clear button space in empty state */ emptyStateTopRightContent?: ReactElement; onClear: () => void; /** Called when user selects (or rejects) a list item from autocomplete list */ onComplete?: ({ value, category, evt, index, }: { value: ListItemValue; category?: string; evt?: SyntheticEvent; index?: number; }) => void; /** Called on Enter key to submit the form */ onEnterKey: () => void; /** Renders an icon to the left inside the textarea */ leftIcon?: IconName; } & Omit & Pick & React.RefAttributes>; declare const SuggestionButton: React.ForwardRefExoticComponent, Omit>, "ref"> & React.RefAttributes>; export declare const PromptInput: typeof PromptInputComponent & { SuggestionButton: typeof SuggestionButton; }; export {};