import { MatchSorterOptions } from 'match-sorter';
import { SelectFieldOption, SelectFieldGroupByValue } from '../../beta/components/SelectField/types';
export type SyncFilterFn<T extends SelectFieldOption = SelectFieldOption> = (options: T[], searchValue: string) => T[];
export declare const defaultSyncFilter: SyncFilterFn;
export declare const toSyncFilterFn: <T extends SelectFieldOption = SelectFieldOption>(filter: SyncFilterFn<T> | MatchSorterOptions<T>) => SyncFilterFn<T>;
/**
 * Sorts options by group using the provided comparator while maintaining
 * the original order within each group (stable sort).
 */
export declare const sortByGroup: <T extends SelectFieldOption = SelectFieldOption>(options: T[], groupSorter: (a: SelectFieldGroupByValue, b: SelectFieldGroupByValue) => number) => T[];
