import { type AIModel, type Completion, type CompletionChunkObject, type ExecutionOptions, type LlumiverseError, type LlumiverseErrorContext, type PromptSegment } from "@llumiverse/core";
import type { ClaudePrompt } from "../../shared/claude-messages.js";
import type { VertexAIDriver } from "../index.js";
import type { ModelDefinition } from "../models.js";
export declare const ANTHROPIC_REGIONS: Record<string, string>;
export declare const NON_GLOBAL_ANTHROPIC_MODELS: string[];
export declare class ClaudeModelDefinition implements ModelDefinition<ClaudePrompt> {
    model: AIModel;
    constructor(modelId: string);
    createPrompt(_driver: VertexAIDriver, segments: PromptSegment[], options: ExecutionOptions): Promise<ClaudePrompt>;
    requestTextCompletion(driver: VertexAIDriver, prompt: ClaudePrompt, options: ExecutionOptions): Promise<Completion>;
    requestTextCompletionStream(driver: VertexAIDriver, prompt: ClaudePrompt, options: ExecutionOptions): Promise<AsyncIterable<CompletionChunkObject>>;
    isClaudeErrorRetryable(error: unknown, httpStatusCode: number | undefined, errorType: string | undefined): boolean | undefined;
    formatLlumiverseError(_driver: VertexAIDriver, error: unknown, context: LlumiverseErrorContext): LlumiverseError;
}
//# sourceMappingURL=claude.d.ts.map