import { type ChatEngineParamsNonStreaming, type ChatEngineParamsStreaming } from "../engines/chat/index.js";
import { Anthropic } from "../llm/anthropic.js";
import type { ToolCallLLMMessageOptions } from "../llm/index.js";
import { ObjectRetriever } from "../objects/index.js";
import type { BaseToolWithCall } from "../types.js";
import { AgentRunner, AgentWorker, type AgentChatResponse, type AgentParamsBase } from "./base.js";
import type { TaskHandler } from "./types.js";
type AnthropicParamsBase = AgentParamsBase<Anthropic>;
type AnthropicParamsWithTools = AnthropicParamsBase & {
    tools: BaseToolWithCall[];
};
type AnthropicParamsWithToolRetriever = AnthropicParamsBase & {
    toolRetriever: ObjectRetriever<BaseToolWithCall>;
};
export type AnthropicAgentParams = AnthropicParamsWithTools | AnthropicParamsWithToolRetriever;
export declare class AnthropicAgentWorker extends AgentWorker<Anthropic> {
    taskHandler: TaskHandler<Anthropic>;
}
export declare class AnthropicAgent extends AgentRunner<Anthropic> {
    constructor(params: AnthropicAgentParams);
    createStore: typeof AgentRunner.defaultCreateStore;
    chat(params: ChatEngineParamsNonStreaming): Promise<AgentChatResponse<ToolCallLLMMessageOptions>>;
    chat(params: ChatEngineParamsStreaming): Promise<never>;
    static taskHandler: TaskHandler<Anthropic>;
}
export {};
