/**
 * Browser-based DuckDuckGo search fallback for environments without a search API key.
 * Uses the headless browser to navigate DuckDuckGo Lite and parse results.
 */
export type BrowserSearchResult = {
    title: string;
    url: string;
    description: string;
    siteName: string;
};
export type BrowserSearchResponse = {
    query: string;
    provider: "browser";
    count: number;
    tookMs: number;
    results: BrowserSearchResult[];
    rawContent?: string;
    externalContent: {
        untrusted: true;
        source: "web_search";
        provider: "browser";
        wrapped: true;
    };
};
/** Check whether the browser fallback can be used (browser.enabled in config). */
export declare function isBrowserSearchAvailable(): boolean;
/**
 * Parse DuckDuckGo Lite AI snapshot text into structured search results.
 *
 * DDG Lite renders plain HTML tables. The AI snapshot typically produces
 * numbered text blocks like:
 *   1. Result Title
 *      https://example.com/path
 *      Description snippet...
 *
 * We split on numbered lines and extract title, URL, and description.
 */
export declare function parseDuckDuckGoLiteSnapshot(text: string, maxResults: number): BrowserSearchResult[];
/**
 * Run a web search via DuckDuckGo Lite using the headless browser.
 */
export declare function runBrowserSearch(opts: {
    query: string;
    count: number;
    cacheTtlMs: number;
}): Promise<BrowserSearchResponse>;
