/** * `Intl.Collator`-backed case/diacritics-insensitive filter used by the * combobox for client-side item filtering. Port of the runtime logic in * `packages/react/src/internals/filter.ts` + the `createCollatorItemFilter` * / `createSingleSelectionCollatorFilter` helpers from * `packages/react/src/combobox/root/utils/index.ts`. No framework-specific * shape — the React hook (`useCoreFilter`) collapses to a plain factory in * Solid since `getFilter` itself is already memoised via a module-level * cache. */ export interface Filter { contains: (item: Item, query: string, itemToString?: (item: Item) => string) => boolean; startsWith: (item: Item, query: string, itemToString?: (item: Item) => string) => boolean; endsWith: (item: Item, query: string, itemToString?: (item: Item) => string) => boolean; } export interface GetFilterParameters extends Intl.CollatorOptions { locale?: Intl.LocalesArgument | undefined; } export declare function getFilter(options?: GetFilterParameters): Filter; /** * Case-insensitive "item contains query" filter — matches the React * `createCollatorItemFilter` helper. */ export declare function createCollatorItemFilter(collatorFilter: Filter, itemToStringLabel?: (item: unknown) => string): (item: unknown, query: string) => boolean; /** * Single-select filter that shows all items when the query is empty or * matches the current selection. Mirrors React's * `createSingleSelectionCollatorFilter`. */ export declare function createSingleSelectionCollatorFilter(collatorFilter: Filter, itemToStringLabel?: (item: unknown) => string, selectedValue?: unknown): (item: unknown, query: string) => boolean; //# sourceMappingURL=filter.d.ts.map