/**
 * Shared combobox option utility functions used by both Elements and React packages.
 * Only framework-agnostic functions belong here.
 */
import type { IPktComboboxOption, TPktComboboxDisplayValue } from '../../shared-types/combobox';
/**
 * Finds an option by its value, falling back to label match.
 * Value matches are prioritized over label matches to avoid ambiguity
 * when an option's label matches another option's value.
 */
export declare const findOptionByValue: (options: IPktComboboxOption[], value: string | null) => IPktComboboxOption | null;
/**
 * Finds the index of an option by its value, falling back to label match.
 */
export declare const findOptionIndex: (options: IPktComboboxOption[], value: string | null) => number;
/**
 * Filters options by a search string, matching against fulltext.
 */
export declare const filterOptionsBySearch: (options: IPktComboboxOption[], search: string | null) => IPktComboboxOption[];
/**
 * Builds the fulltext search string for an option.
 */
export declare const buildFulltext: (option: IPktComboboxOption) => string;
/**
 * Checks if the maximum number of selections has been reached.
 */
export declare const isMaxSelectionReached: (selectedCount: number, maxlength: number | null) => boolean;
/**
 * Returns the display text for an option based on the displayValueAs setting.
 */
export declare const getOptionDisplayText: (option: IPktComboboxOption | null, displayValueAs: TPktComboboxDisplayValue) => string;
/**
 * Parses a value prop (string or string[]) into a normalized array.
 */
export declare const parseValueToArray: (value: string | string[] | null | undefined, multiple: boolean) => string[];
/**
 * Finds typeahead matches from options based on search input.
 * Returns filtered options and the best autocomplete suggestion.
 */
export declare const findTypeaheadMatches: (options: IPktComboboxOption[], search: string) => {
    filtered: IPktComboboxOption[];
    suggestion: IPktComboboxOption | null;
};
/**
 * Determines the user info message based on search state and matches.
 */
export declare const getSearchInfoMessage: (searchValue: string, selectedValues: string[], options: IPktComboboxOption[], allowUserInput: boolean) => {
    addValueText: string | null;
    userInfoMessage: string;
};
