import { BaseCache } from '../../cache/base.js'; import * as promise_based_task from 'promise-based-task'; import { JSONToolOutput, Tool, BaseToolOptions, ToolEmitter, ToolInput, BaseToolRunOptions } from '../base.js'; import { z } from 'zod'; import { RunContext } from '../../context.js'; import { E as Emitter } from '../../emitter-l0W9gC1A.js'; import '../../internals/serializable.js'; import '../../internals/types.js'; import '../../internals/helpers/guards.js'; import 'ajv'; import '../../errors.js'; import '../../internals/helpers/schema.js'; import 'zod-to-json-schema'; import '../../internals/helpers/promise.js'; interface CrawlerOutput { url: string; statusCode: number; statusText: string; contentType: string; content: string; } declare class WebCrawlerToolOutput extends JSONToolOutput { getTextContent(): string; } type HttpClient = (url: string, options?: RequestInit) => Promise; interface HttpClientResponse { status: number; statusText: string; headers: Headers; text(): Promise; } type Parser = (response: HttpClientResponse) => Promise; interface WebsiteCrawlerToolOptions extends BaseToolOptions { client?: HttpClient; parser?: Parser; request?: RequestInit; } declare class WebCrawlerTool extends Tool { name: string; description: string; inputSchema(): z.ZodObject<{ url: z.ZodString; }, "strip", z.ZodTypeAny, { url: string; }, { url: string; }>; protected client: HttpClient; protected parser: Parser; readonly emitter: ToolEmitter, WebCrawlerToolOutput>; constructor({ client, parser, ...options }?: WebsiteCrawlerToolOptions); protected _run({ url }: ToolInput, _options: Partial, run: RunContext): Promise; createSnapshot(): { client: HttpClient; parser: Parser; name: string; description: string; options: WebsiteCrawlerToolOptions; cache: BaseCache>; emitter: Emitter; }; loadSnapshot({ client, parser, ...snapshot }: ReturnType): void; } export { type HttpClient, WebCrawlerTool, WebCrawlerToolOutput };