import { ContentBlock, MessageParam, TextBlockParam } from "@anthropic-ai/sdk/resources/index.js";
import { AIModel, Completion, CompletionChunkObject, ExecutionOptions, PromptSegment, ToolUse } from "@llumiverse/core";
import { VertexAIDriver } from "../index.js";
import { ModelDefinition } from "../models.js";
interface ClaudePrompt {
    messages: MessageParam[];
    system?: TextBlockParam[];
}
export declare function collectTools(content: ContentBlock[]): ToolUse[] | undefined;
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>>;
}
export {};
//# sourceMappingURL=claude.d.ts.map