import type { SourceAuthorityMode } from "./source-authority.js"; export interface SearchResult { url: string; title: string; snippet: string; rank: number; } export interface DomainHint { hosts: readonly string[]; } export interface SearchAdapter { readonly name: string; readonly servesDomains?: readonly string[]; search(query: string, limit: number, signal?: AbortSignal): Promise; searchHinted?(query: string, hint: DomainHint, limit: number, signal?: AbortSignal): Promise; } export declare function siteOperatorQuery(query: string, hosts: readonly string[]): string; export declare function domainHintTokens(query: string, hosts: readonly string[]): string; export declare class SearchRateLimitError extends Error { readonly adapter: string; readonly rateLimited = true; constructor(adapter: string, detail: string); } export interface SubAdapterFailure { adapter: string; message: string; rateLimited: boolean; } export declare function isRateLimitError(err: unknown): boolean; export declare function searchTimeoutSignal(signal?: AbortSignal): AbortSignal; export declare function resolveSearchAdapter(name: string, env: Record, authorityMode?: SourceAuthorityMode): Promise; export declare function normalizeAdapterList(value: string): string | undefined; export declare function dedupeByUrl(results: SearchResult[]): SearchResult[]; //# sourceMappingURL=search.d.ts.map