type Format = "html" | "markdown" | "text";
/**
 * Typed input accepted by {@link executeWebFetchTool}.
 */
export interface WebFetchInput {
    readonly format?: Format;
    readonly timeout?: number;
    readonly url: string;
}
/**
 * Structured result returned from {@link executeWebFetchTool}.
 */
export interface WebFetchResult {
    /** Response body, bounded to the shared tool-output limits. */
    readonly content: string;
    /** Response `Content-Type` header. */
    readonly contentType: string;
    /** Fetched URL. */
    readonly url: string;
    /** True when {@link content} was shortened to fit the output budget. */
    readonly truncated: boolean;
}
/**
 * Executes the `web_fetch` framework tool.
 *
 * Fetches the content at the given URL and returns it in the requested
 * format. HTML responses are automatically converted to Markdown or
 * plain text when the caller requests those formats. Responses up to
 * 5 MB are accepted, and the returned {@link WebFetchResult.content}
 * is capped at the shared tool-output budget (50 KB / 2000 lines) so
 * large pages do not exhaust the model's context window.
 */
export declare function executeWebFetchTool(args: WebFetchInput): Promise<WebFetchResult>;
export {};
