export type ItemEqualityComparer = (itemValue: Item, selectedValue: Value) => boolean; export declare const defaultItemEquality: ItemEqualityComparer; export declare function compareItemEquality(itemValue: Item, selectedValue: Value, comparer: ItemEqualityComparer): boolean; export declare function isSelectedValueDirty(currentValue: unknown, initialValue: unknown, comparer: ItemEqualityComparer): boolean; export declare function selectedValueIncludes(selectedValues: readonly Item[] | undefined | null, itemValue: Value, comparer: ItemEqualityComparer): boolean; export declare function findItemIndex(itemValues: readonly Item[] | undefined | null, selectedValue: Value, comparer: ItemEqualityComparer): number; export declare function findSelectionIndex(itemValues: readonly Item[], selectedValue: Value | readonly Value[] | null | undefined, comparer: ItemEqualityComparer, multiple: boolean): number | null; /** Resolves the first selected index as items register or change. */ export declare function resolveSelectedIndex(index: number, itemValue: Item, registry: readonly Item[], selectedValues: readonly Value[], comparer: ItemEqualityComparer, currentIndex: number | null): number | null; export declare function removeItem(selectedValues: readonly Item[], itemValue: Value, comparer: ItemEqualityComparer): Item[];