import type { SearchInput, SearchOutput, StageResult, ProgressCallback, SearchEngine } from '../types.js'; import type { SmartRouter } from '../fetch/router.js'; import type { BackendStatus } from '../server/backend-status.js'; import type { SamplingCapableServer } from '../search/sampling.js'; /** * Runtime dependencies the legacy SearxNG orchestrator needs. These are wired * at server boot (search engines, fetch router) and per-call (sampling server, * progress callback). The provider interface accepts them so the tool handler * can remain a thin pass-through. */ export interface SearchContext { engines: SearchEngine[]; router: SmartRouter; backendStatus?: BackendStatus; samplingServer?: SamplingCapableServer; onProgress?: ProgressCallback; } export interface SearchProvider { search(input: SearchInput, ctx: SearchContext): Promise>; /** Best-effort name for telemetry/logging. */ readonly name: 'core' | 'searxng' | 'hybrid'; } export declare function getSearchProvider(): Promise; export declare function _resetSearchProviderForTest(): void; //# sourceMappingURL=search-provider.d.ts.map