import { z } from 'zod'; import { ToolBubble } from '../../types/tool-bubble-class.js'; import type { BubbleContext } from '../../types/bubble.js'; import { CredentialType, type BubbleName } from '@bubblelab/shared-schemas'; declare const WebCrawlToolParamsSchema: z.ZodObject<{ url: z.ZodString; format: z.ZodDefault>; onlyMainContent: z.ZodDefault; maxPages: z.ZodOptional>; crawlDepth: z.ZodOptional>; includePaths: z.ZodOptional>; excludePaths: z.ZodOptional>; waitFor: z.ZodDefault; credentials: z.ZodOptional, z.ZodString>>; }, "strip", z.ZodTypeAny, { format: "markdown"; url: string; onlyMainContent: boolean; waitFor: number; credentials?: Partial> | undefined; maxPages?: number | undefined; excludePaths?: string[] | undefined; includePaths?: string[] | undefined; crawlDepth?: number | undefined; }, { url: string; format?: "markdown" | undefined; credentials?: Partial> | undefined; onlyMainContent?: boolean | undefined; waitFor?: number | undefined; maxPages?: number | undefined; excludePaths?: string[] | undefined; includePaths?: string[] | undefined; crawlDepth?: number | undefined; }>; declare const WebCrawlToolResultSchema: z.ZodObject<{ url: z.ZodString; success: z.ZodBoolean; error: z.ZodString; pages: z.ZodArray; content: z.ZodString; depth: z.ZodOptional; }, "strip", z.ZodTypeAny, { content: string; url: string; title?: string | undefined; depth?: number | undefined; }, { content: string; url: string; title?: string | undefined; depth?: number | undefined; }>, "many">; totalPages: z.ZodNumber; creditsUsed: z.ZodNumber; metadata: z.ZodOptional; crawlDepth: z.ZodOptional; maxPagesReached: z.ZodOptional; }, "strip", z.ZodTypeAny, { loadTime?: number | undefined; crawlDepth?: number | undefined; maxPagesReached?: boolean | undefined; }, { loadTime?: number | undefined; crawlDepth?: number | undefined; maxPagesReached?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { error: string; success: boolean; url: string; pages: { content: string; url: string; title?: string | undefined; depth?: number | undefined; }[]; creditsUsed: number; totalPages: number; metadata?: { loadTime?: number | undefined; crawlDepth?: number | undefined; maxPagesReached?: boolean | undefined; } | undefined; }, { error: string; success: boolean; url: string; pages: { content: string; url: string; title?: string | undefined; depth?: number | undefined; }[]; creditsUsed: number; totalPages: number; metadata?: { loadTime?: number | undefined; crawlDepth?: number | undefined; maxPagesReached?: boolean | undefined; } | undefined; }>; type WebCrawlToolParams = z.input; type WebCrawlToolResult = z.output; type WebCrawlToolParamsInput = z.input; export declare class WebCrawlTool extends ToolBubble { static readonly bubbleName: BubbleName; static readonly schema: z.ZodObject<{ url: z.ZodString; format: z.ZodDefault>; onlyMainContent: z.ZodDefault; maxPages: z.ZodOptional>; crawlDepth: z.ZodOptional>; includePaths: z.ZodOptional>; excludePaths: z.ZodOptional>; waitFor: z.ZodDefault; credentials: z.ZodOptional, z.ZodString>>; }, "strip", z.ZodTypeAny, { format: "markdown"; url: string; onlyMainContent: boolean; waitFor: number; credentials?: Partial> | undefined; maxPages?: number | undefined; excludePaths?: string[] | undefined; includePaths?: string[] | undefined; crawlDepth?: number | undefined; }, { url: string; format?: "markdown" | undefined; credentials?: Partial> | undefined; onlyMainContent?: boolean | undefined; waitFor?: number | undefined; maxPages?: number | undefined; excludePaths?: string[] | undefined; includePaths?: string[] | undefined; crawlDepth?: number | undefined; }>; static readonly resultSchema: z.ZodObject<{ url: z.ZodString; success: z.ZodBoolean; error: z.ZodString; pages: z.ZodArray; content: z.ZodString; depth: z.ZodOptional; }, "strip", z.ZodTypeAny, { content: string; url: string; title?: string | undefined; depth?: number | undefined; }, { content: string; url: string; title?: string | undefined; depth?: number | undefined; }>, "many">; totalPages: z.ZodNumber; creditsUsed: z.ZodNumber; metadata: z.ZodOptional; crawlDepth: z.ZodOptional; maxPagesReached: z.ZodOptional; }, "strip", z.ZodTypeAny, { loadTime?: number | undefined; crawlDepth?: number | undefined; maxPagesReached?: boolean | undefined; }, { loadTime?: number | undefined; crawlDepth?: number | undefined; maxPagesReached?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { error: string; success: boolean; url: string; pages: { content: string; url: string; title?: string | undefined; depth?: number | undefined; }[]; creditsUsed: number; totalPages: number; metadata?: { loadTime?: number | undefined; crawlDepth?: number | undefined; maxPagesReached?: boolean | undefined; } | undefined; }, { error: string; success: boolean; url: string; pages: { content: string; url: string; title?: string | undefined; depth?: number | undefined; }[]; creditsUsed: number; totalPages: number; metadata?: { loadTime?: number | undefined; crawlDepth?: number | undefined; maxPagesReached?: boolean | undefined; } | undefined; }>; static readonly shortDescription = "Multi-page web crawling tool for exploring entire websites and subdomains."; static readonly longDescription = "\n A powerful web crawling tool that can systematically explore websites and extract content from multiple pages.\n \n \uD83D\uDD77\uFE0F CRAWL Features:\n - Recursively crawl websites and subdomains\n - Configurable crawl depth and page limits (up to 100 pages)\n - URL pattern filtering (include/exclude paths)\n - Multiple format support (markdown, html, links, rawHtml)\n - Main content focus filtering\n - Discover and extract content from entire sites\n \n Technical Features:\n - Handles JavaScript-rendered pages and dynamic content\n - Robust error handling and retry mechanisms\n - Configurable wait times for dynamic content\n - Requires FIRECRAWL_API_KEY credential\n \n Use Cases:\n - Site mapping and competitive analysis\n - Documentation aggregation across multiple pages \n - Content analysis and research across domains\n - SEO analysis and site structure discovery\n - Building comprehensive datasets from websites\n "; static readonly alias = "crawl"; static readonly type = "tool"; constructor(params?: WebCrawlToolParamsInput, context?: BubbleContext); performAction(context?: BubbleContext): Promise; /** * Execute crawl operation - multi-page site exploration */ private executeCrawl; } export {}; //# sourceMappingURL=web-crawl-tool.d.ts.map