/**
 * Per-tool contract for `web_crawl` — host-mediated server call.
 * No citations; the renderer reads markdown content + `params.url` only.
 */
import { type HostToolRequest, type ToolContract, type ToolLlmOptionsBase } from '../../../contracts/host-tool.js';
export declare const WEB_CRAWL_KIND: "webCrawl";
export type WebCrawlKind = typeof WEB_CRAWL_KIND;
export interface WebCrawlParams {
    readonly description: string;
    readonly url: string;
    readonly query?: string;
}
export interface WebCrawlDetails {
    readonly url?: string;
    readonly title?: string;
    /** Markdown body — also surfaced as content via `formatResult`. */
    readonly text?: string;
}
export type WebCrawlRequest = HostToolRequest & {
    readonly kind: WebCrawlKind;
    readonly params: WebCrawlParams;
};
/** Listing one-liner used by `get_tool_info`. */
export declare const WEB_CRAWL_TOOL_SUMMARY = "Fetch and extract content from a specific URL (fall back to bash curl if unsatisfactory)";
export declare const WEB_CRAWL_TOOL_DESCRIPTION = "Fetch content from a specific URL. Use when the user provides a direct link.\n\nUses Exa API for clean text extraction (strips ads/nav/scripts) and can render JavaScript-heavy pages. If content is incomplete or you need raw HTML, fall back to curl/wget via bash.";
export declare const WEB_CRAWL_DESCRIPTION_DESCRIPTION = "A short one-sentence summary starting with 'Fetching content from...'";
export declare const WEB_CRAWL_URL_DESCRIPTION = "The URL to crawl. Must include protocol (http:// or https://)";
export declare const WEB_CRAWL_QUERY_DESCRIPTION = "Optional query for highlighting relevant content";
export declare const webCrawlContract: ToolContract<WebCrawlParams, WebCrawlDetails, ToolLlmOptionsBase>;
//# sourceMappingURL=contract.d.ts.map