import { BaseTool } from '../base.js';
import { ToolExecutionContext } from '../types.js';
interface WebFetchOptions {
    url: string;
    method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'HEAD';
    headers?: Record<string, string>;
    body?: string;
    extractText?: boolean;
    selector?: string;
    followRedirects?: boolean;
    timeout?: number;
    extractMetadata?: boolean;
    maxContentLength?: number;
    extractLinks?: boolean;
    extractImages?: boolean;
    userAgent?: string;
}
export declare class WebFetchTool extends BaseTool {
    name: string;
    displayName: string;
    description: string;
    category: "web";
    icon: string;
    parameters: ({
        name: string;
        type: "string";
        description: string;
        required: boolean;
        default?: undefined;
        enum?: undefined;
    } | {
        name: string;
        type: "string";
        description: string;
        required: boolean;
        default: string;
        enum: string[];
    } | {
        name: string;
        type: "object";
        description: string;
        required: boolean;
        default?: undefined;
        enum?: undefined;
    } | {
        name: string;
        type: "boolean";
        description: string;
        required: boolean;
        default: boolean;
        enum?: undefined;
    } | {
        name: string;
        type: "number";
        description: string;
        required: boolean;
        default: number;
        enum?: undefined;
    } | {
        name: string;
        type: "string";
        description: string;
        required: boolean;
        default: string;
        enum?: undefined;
    })[];
    permissions: {
        network: boolean;
    };
    ui: {
        showProgress: boolean;
        collapsible: boolean;
        dangerous: boolean;
    };
    protected run(params: WebFetchOptions, context: ToolExecutionContext): Promise<any>;
    private createSummary;
    private formatBytes;
}
export {};
//# sourceMappingURL=web-fetch.d.ts.map