import Anthropic from '@anthropic-ai/sdk';
import type { ApiProvider, EnvOverrides, ProviderResponse } from '../types.js';
interface AnthropicMessageOptions {
    apiKey?: string;
    apiBaseUrl?: string;
    temperature?: number;
    max_tokens?: number;
    top_p?: number;
    top_k?: number;
    model?: string;
    cost?: number;
    tools?: Anthropic.Tool[];
    tool_choice?: Anthropic.MessageCreateParams.ToolChoiceAny | Anthropic.MessageCreateParams.ToolChoiceAuto | Anthropic.MessageCreateParams.ToolChoiceTool;
}
export declare function outputFromMessage(message: Anthropic.Messages.Message): string;
export declare function parseMessages(messages: string): {
    system: string | undefined;
    extractedMessages: Anthropic.Messages.MessageParam[];
};
export declare function calculateCost(modelName: string, config: AnthropicMessageOptions, promptTokens?: number, completionTokens?: number): number | undefined;
export declare class AnthropicMessagesProvider implements ApiProvider {
    modelName: string;
    config: AnthropicMessageOptions;
    env?: EnvOverrides;
    apiKey?: string;
    anthropic: Anthropic;
    static ANTHROPIC_MODELS: {
        id: string;
        cost: {
            input: number;
            output: number;
        };
    }[];
    static ANTHROPIC_MODELS_NAMES: string[];
    constructor(modelName: string, options?: {
        id?: string;
        config?: AnthropicMessageOptions;
        env?: EnvOverrides;
    });
    id(): string;
    toString(): string;
    callApi(prompt: string): Promise<ProviderResponse>;
}
interface AnthropicCompletionOptions {
    apiKey?: string;
    max_tokens_to_sample?: number;
    temperature?: number;
    top_p?: number;
    top_k?: number;
}
export declare class AnthropicCompletionProvider implements ApiProvider {
    static ANTHROPIC_COMPLETION_MODELS: string[];
    modelName: string;
    apiKey?: string;
    anthropic: Anthropic;
    config: AnthropicCompletionOptions;
    constructor(modelName: string, options?: {
        config?: AnthropicCompletionOptions;
        id?: string;
        env?: EnvOverrides;
    });
    id(): string;
    toString(): string;
    callApi(prompt: string): Promise<ProviderResponse>;
}
export declare const DefaultGradingProvider: AnthropicMessagesProvider;
export declare const DefaultGradingJsonProvider: AnthropicMessagesProvider;
export declare const DefaultSuggestionsProvider: AnthropicMessagesProvider;
export {};
//# sourceMappingURL=anthropic.d.ts.map