export interface ClaudeWebSearchRequest {
    query: string;
    max_uses?: number;
    allowed_domains?: string[];
    blocked_domains?: string[];
    user_location?: {
        type: 'approximate';
        city?: string;
        region?: string;
        country?: string;
        timezone?: string;
    };
}
export interface WebSearchResponse {
    query: string;
    results: any[];
    answer: string;
    citations?: any[];
    provider: 'claude_web_search';
    timestamp: string;
}
export declare class WebSearchService {
    private claudeApiKey;
    private claudeApiUrl;
    constructor();
    search(request: ClaudeWebSearchRequest): Promise<WebSearchResponse>;
    private extractCitations;
    isAvailable(): boolean;
    getConfiguration(): {
        hasApiKey: boolean;
        model: string;
    };
}
