import { type PrimativeKey } from '../key'; /** * Reference to a human-readable label string. */ export interface LabelRef { label: string; } /** * Pairs a value with a human-readable label, useful for dropdown options, tags, and display lists. */ export interface LabeledValue extends LabelRef { value: T; } /** * Creates a {@link Map} from an array of {@link LabeledValue} items, keyed by each item's value. * * Enables fast lookup of labeled items by their value key. * * @param values - array of labeled values to index * @returns a Map keyed by each item's value for fast lookup * * @example * ```ts * const items: LabeledValue[] = [ * { value: 'a', label: 'Alpha' }, * { value: 'b', label: 'Beta' } * ]; * const map = labeledValueMap(items); * map.get('a')?.label; // 'Alpha' * ``` */ export declare function labeledValueMap, T extends PrimativeKey>(values: V[]): Map; /** * Pairs a value with a human-readable label and an optional description. */ export interface LabeledValueWithDescription extends LabeledValue { description?: string; }