/**
 * Claude Provider (Anthropic)
 *
 * LLM provider implementation for Claude API.
 * Handles interaction with Anthropic's Claude 3/3.5 models.
 */
import { BaseProvider } from './base-provider.js';
import type { ProviderType, ProviderConfig, CompletionOptions, LLMResponse, StreamChunk, ProviderFeature } from './types.js';
/**
 * Implementation of the Anthropic Claude provider.
 * Uses the @anthropic-ai/sdk for API communication.
 * Handles specifics like:
 * - Tool use integration (beta)
 * - Message formatting (system prompts separate from messages)
 * - Streaming delta handling
 */
export declare class ClaudeProvider extends BaseProvider {
    readonly type: ProviderType;
    readonly name = "Claude (Anthropic)";
    readonly defaultModel = "claude-sonnet-4-20250514";
    private client;
    /**
     * Initializes the Claude provider.
     * Dynamically imports the Anthropic SDK.
     *
     * @throws Error if @anthropic-ai/sdk is not installed.
     */
    initialize(config: ProviderConfig): Promise<void>;
    /**
     * Sends a completion request to the Anthropic API.
     * Handles separating system prompt from standard messages.
     * Maps tool use blocks to standard ToolCall objects.
     */
    complete(options: CompletionOptions): Promise<LLMResponse>;
    /**
     * Streams the response from the Anthropic API.
     * Handles 'content_block_delta' events for both text and JSON (tool args).
     * Wrapped with latency tracking for first-token and total streaming time.
     */
    stream(options: CompletionOptions): AsyncIterable<StreamChunk>;
    /**
     * Internal streaming implementation.
     */
    private streamInternal;
    getModels(): Promise<string[]>;
    getPricing(): {
        input: number;
        output: number;
    };
    supports(feature: ProviderFeature): boolean;
    /**
     * Formats messages for the Anthropic API.
     * - Extracts system prompt.
     * - Handles tool results (must be role='user').
     * - Handles assistant tool calls (content array with tool_use blocks).
     */
    private formatMessages;
    /**
     * Formats tool definitions for Anthropic.
     */
    private formatTools;
}
