import { type ButtonProps } from "@salt-ds/core"; import { type ChangeEventHandler, type FocusEventHandler, type ForwardedRef, type HTMLAttributes, type KeyboardEventHandler, type ReactElement, type ReactEventHandler, type Ref, type SyntheticEvent } from "react"; import { type InputLegacyProps as InputProps } from "../input-legacy"; import type { TokenizedInputHelpers, TokenizedInputState } from "./useTokenizedInput"; export type RemoveItemHandler = (itemIndex: number) => void; export type ItemToString = (item: Item) => string; export type ExpandButtonProps = Pick & { accessibleText?: string; }; export interface TokenizedInputBaseProps extends Partial>, Omit, "onFocus" | "onBlur" | "onChange" | "onKeyUp" | "onKeyDown"> { ExpandButtonProps?: ExpandButtonProps; InputProps?: Pick; disabled?: boolean; expandButtonRef?: Ref; helpers: TokenizedInputHelpers; inputRef?: Ref; itemToString?: ItemToString; onFocus?: FocusEventHandler; onBlur?: FocusEventHandler; onKeyUp?: KeyboardEventHandler; onKeyDown?: KeyboardEventHandler; onRemoveItem?: RemoveItemHandler; onInputBlur?: FocusEventHandler; onInputFocus?: FocusEventHandler; onInputChange?: ChangeEventHandler; onInputSelect?: ReactEventHandler; onClick?: (event: SyntheticEvent) => void; onClear?: ReactEventHandler; } export declare const TokenizedInputBase: (p: TokenizedInputBaseProps & { ref?: ForwardedRef; }) => ReactElement>;