type HasValue = { value: string; }; type Value = string | string[]; export declare function optionsAreEqual(option: T, optionToCompare: T): boolean; export declare function addUniqueOption(newOption: T, options?: T[]): T[]; export declare function removeOption(optionToRemove: T, options?: T[]): T[]; export declare function isOptionEnabled(option: T): boolean; export declare function disableNonSelectedOptions(options: T[], selectedOptions: T[]): T[]; export declare function findOptionByValue(options: T[], searchValue: string | undefined): T | undefined; export declare function getOptionByValueOrFirst(options: T[], searchValue: string): T; export declare function findOptionsByValue(options: T[], searchValue?: Value | undefined): T[]; export declare function createCustomOption(value: string, label?: string): T; export declare function getDefaultOptions(searchValue: Value | undefined, options: T[], multiselect?: boolean, forceSelectDefaultOption?: boolean): T[] | undefined; export declare function getOptionLabel(option: T): string; export declare function getValueAsString(value: Value | undefined): string; export declare function getValueAsStringArray(value: Value | undefined): string[]; export declare function isOptionSelected(option: T, selectedOptions: T[] | undefined): boolean; export declare function getNewOptionSelection(option: T, selectedOptions: T[] | undefined, forceSelected?: boolean): T[]; export declare function getSelectedOptionValues(selectedOptions: T[] | undefined): string[] | undefined; export declare function getJoinedValues(selectedOptions: T[] | undefined): string; export {};