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<HTMLDivElement>;
    /** Ref to the active trigger element, used to anchor the dropdown */
    triggerWrapperRef: React.MutableRefObject<HTMLElement | null>;
    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<HTMLDivElement> & {
        '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 {};
//# sourceMappingURL=token-mode.d.ts.map