import type { SearchResult } from "../types"; export type SearchStrategyId = "filter-only" | "semantic" | "hybrid" | (string & {}); export interface SearchStrategyContext { query: string; limit: number; } export type SearchStrategyExecutor = (options: TOptions, context: SearchStrategyContext) => Promise | SearchResult[]; export interface SearchStrategyRegistry { register(strategy: SearchStrategyId, executor: SearchStrategyExecutor): void; get(strategy: SearchStrategyId): SearchStrategyExecutor | null; list(): SearchStrategyId[]; } export declare class InMemorySearchStrategyRegistry implements SearchStrategyRegistry { private readonly strategies; register(strategy: SearchStrategyId, executor: SearchStrategyExecutor): void; get(strategy: SearchStrategyId): SearchStrategyExecutor | null; list(): SearchStrategyId[]; } //# sourceMappingURL=registry.d.ts.map