import type { Option } from './types'; /** * A helper function that determines if a value is an object and a label key present in that object. * @param {Object} value - The value to check. * @param {string} key - The key to check for in the object. * @returns {boolean} */ export declare const isObjectWithLabelKey: (value: Value | Record, key: LabelKey) => value is Record; /** * Retrieves the display text for the selected value based on the source object. * * @param {Value} selectedValue - The value selected by the user. * @param {Object} source - The source object containing label and value keys and the options array. * @returns {string | undefined} - The label associated with the selected value, or undefined if no appropriate label is found. */ export declare const getSearchTextFromSource: (selectedValue: Value, source: { label: LabelKey; value: ValueKey; options: Record[]; }) => string | undefined; /** * Determines whether the search text label is usable based on the provided * input and label availability." * * @param {string | undefined} searchInput - The input text for the search. * @param {Array | string} [label] - The label or labels associated with the search input. * @returns {boolean} - returns true only when a search text is not available, and the label is present but not an array. */ export declare const hasValidSearchTextLabel: (searchInput: string | undefined, label?: unknown[] | string | number) => boolean; export type UseSelectContext = () => { selectedItemIndex: number; selectedItem: Option | undefined; activeIndex: number; listItems: HTMLElement[]; hideList: () => void; showList: () => void; focusOnSelectedItem: () => void; focusAtIndex: (index: number) => void; focusOnFirstItem: () => void; focusOnLastItem: () => void; }; export declare const useSelectContext: () => UseSelectContext;