import { type SearchProviderId } from "../types.js"; export interface SearchProvider { id: SearchProviderId; displayName: string; needsApiKey: boolean; envVar?: string; /** * Dispatch a single search request. * * @param query Already-trimmed query string; length ∈ [1, 400]. * @param maxResults Already-clamped result count; ∈ [1, 20]. * @param auth Resolved credentials. `apiKey` is present iff * {@link needsApiKey} is true and a key was found. * @param signal Abort signal wired to the 15-second invocation timer. */ search(query: string, maxResults: number, auth: { apiKey?: string; }, signal: AbortSignal): Promise; } export interface RawProviderResponse { status: number; hits: Array<{ title?: string; url?: string; snippet?: string; }>; parseError?: string; } export declare const searchProviders: Record; export declare function assertSearchProvider(value: string): SearchProviderId;