import { LLMGenerationOptions, LLMResponse, AnthropicConfig, LLMToolOptions, LLMToolResponse, LLMConversation, LLMStreamChunk } from '../../types/llm-providers';
import { BaseLLMProvider } from './BaseLLMProvider';
import { Tool } from '../../types';
export declare class AnthropicProvider extends BaseLLMProvider {
    readonly type: "anthropic";
    readonly name = "Anthropic";
    config: AnthropicConfig;
    private client?;
    constructor(config: AnthropicConfig);
    supportsTools(): boolean;
    supportsStreaming(): boolean;
    getMaxTokens(): number;
    generateResponse(options: LLMGenerationOptions): Promise<LLMResponse>;
    generateWithTools(options: LLMToolOptions): Promise<LLMToolResponse>;
    handleToolLoop(conversation: LLMConversation, tools: Tool[]): Promise<LLMToolResponse>;
    streamResponse(options: LLMGenerationOptions): AsyncIterable<LLMStreamChunk>;
    isAvailable(): Promise<boolean>;
    test(): Promise<void>;
}
//# sourceMappingURL=AnthropicProvider.d.ts.map