/**
 * Shared combobox input utility functions used by both Elements and React packages.
 * Covers keyboard actions, focus-out validation, match checking, and input display.
 */
import type { IPktComboboxOption } from '../../shared-types/combobox';
export type TInputKeyAction = 'addValue' | 'focusListbox' | 'closeOptions' | null;
/**
 * Determines the action for a keydown event on the combobox input.
 */
export declare const getInputKeyAction: (key: string, shiftKey: boolean, multiple: boolean) => TInputKeyAction;
/**
 * Determines if a key is an arrow/toggle key for select-only mode.
 */
export declare const isArrowToggleKey: (key: string) => boolean;
export type TFocusOutAction = 'addUserValue' | 'selectOption' | 'removeValue' | 'none';
export interface IFocusOutResult {
    action: TFocusOutAction;
    value: string | null;
}
/**
 * Determines what to do with the input value when focus leaves the combobox.
 */
export declare const getInputValueAction: (inputValue: string, currentValues: string[], options: IPktComboboxOption[], allowUserInput: boolean, multiple: boolean) => IFocusOutResult;
export interface ICheckForMatchesResult {
    addValueText: string | null;
    userInfoMessage: string;
    shouldRemoveValue: boolean;
    shouldResetInput: boolean;
}
/**
 * Determines the info message and actions based on search input.
 * Wraps getSearchInfoMessage, adding the empty-input case.
 */
export declare const checkForMatches: (inputValue: string, currentValues: string[], options: IPktComboboxOption[], allowUserInput: boolean, multiple: boolean) => ICheckForMatchesResult;
/**
 * Determines what text to display in a single-select input for the given value.
 */
export declare const getSingleValueForInput: (value: string, options: IPktComboboxOption[], displayValueAs: string) => string;
