import React from 'react'; import { DropdownStatusResult } from '../../internal/components/dropdown-status'; import { MenuItemsHandlers, MenuItemsState } from '../core/menu-state'; import { PromptInputProps } from '../interfaces'; /** Props for the token-mode contentEditable input and its associated menu dropdown. */ interface TokenModeProps { /** Ref to the contentEditable div */ editableElementRef: React.RefObject; /** Ref to the active trigger element, used to anchor the dropdown */ triggerWrapperRef: React.MutableRefObject; controlId?: string; menuListId: string; menuFooterControlId: string; highlightedMenuOptionId?: string; /** When set, renders a hidden input for native form submission */ name?: string; /** Plain text representation of the current tokens */ plainTextValue: string; menuIsOpen: boolean; /** True once the trigger element is mounted and ready for dropdown positioning */ triggerWrapperReady: boolean; shouldRenderMenuDropdown: boolean; activeMenu: PromptInputProps.MenuDefinition | null; activeTriggerToken: PromptInputProps.TriggerToken | null; menuFilterText: string; menuItemsState: MenuItemsState | null; menuItemsHandlers: MenuItemsHandlers | null; menuDropdownStatus: DropdownStatusResult | null; handleInput: () => void; handleLoadMore: () => void; /** Spread onto the contentEditable div — includes aria attrs, className, and event handlers */ editableElementAttributes: React.HTMLAttributes & { 'data-placeholder'?: string; }; i18nStrings?: PromptInputProps['i18nStrings']; maxMenuHeight?: number; } export default function TokenMode({ editableElementRef, triggerWrapperRef, controlId, menuListId, menuFooterControlId, highlightedMenuOptionId, name, plainTextValue, menuIsOpen, triggerWrapperReady, shouldRenderMenuDropdown, activeMenu, activeTriggerToken, menuFilterText, menuItemsState, menuItemsHandlers, menuDropdownStatus, maxMenuHeight, handleInput, handleLoadMore, editableElementAttributes }: TokenModeProps): JSX.Element; export {};