import { BaseTool } from '../base.js';
import { ToolExecutionContext } from '../types.js';
interface GoogleSearchOptions {
    query: string;
    numResults?: number;
    region?: string;
    language?: string;
    safeSearch?: boolean;
    timeRange?: 'day' | 'week' | 'month' | 'year';
}
export declare class GoogleSearchTool 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: "number";
        description: string;
        required: boolean;
        default: number;
        enum?: undefined;
    } | {
        name: string;
        type: "string";
        description: string;
        required: boolean;
        default: string;
        enum?: undefined;
    } | {
        name: string;
        type: "boolean";
        description: string;
        required: boolean;
        default: boolean;
        enum?: undefined;
    } | {
        name: string;
        type: "string";
        description: string;
        required: boolean;
        enum: string[];
        default?: undefined;
    })[];
    permissions: {
        network: boolean;
    };
    ui: {
        showProgress: boolean;
        collapsible: boolean;
        dangerous: boolean;
    };
    protected run(params: GoogleSearchOptions, _context: ToolExecutionContext): Promise<any>;
    private searchWithGoogleAPI;
    private searchWithSerpAPI;
    private searchWithScraping;
    private formatResults;
    private decodeHtml;
}
export {};
//# sourceMappingURL=google-search.d.ts.map