import { type TextExtractor } from "../types.js";
import { type BaseSearchOptions } from "./types.js";
/**
 * @since 6.0.0
 * @internal
 */
export declare const defaultExtractor: <T>(name: string) => (item: T) => string;
/**
 * @internal
 * @since 6.0.0
 */
export interface SearchOptions<T> extends BaseSearchOptions<T> {
    type: "search" | "filter";
    filter(query: string, value: string): boolean;
    extractor: TextExtractor<T>;
}
/**
 * @internal
 * @since 6.0.0
 */
export declare function search<T>(options: SearchOptions<T>): readonly T[] | T | undefined;
