import { OpenAI } from "../llm/openai.js";
import { ObjectRetriever } from "../objects/index.js";
import type { BaseToolWithCall } from "../types.js";
import { AgentRunner, AgentWorker, type AgentParamsBase } from "./base.js";
import type { TaskHandler } from "./types.js";
type OpenAIParamsBase = AgentParamsBase<OpenAI>;
type OpenAIParamsWithTools = OpenAIParamsBase & {
    tools: BaseToolWithCall[];
};
type OpenAIParamsWithToolRetriever = OpenAIParamsBase & {
    toolRetriever: ObjectRetriever<BaseToolWithCall>;
};
export type OpenAIAgentParams = OpenAIParamsWithTools | OpenAIParamsWithToolRetriever;
export declare class OpenAIAgentWorker extends AgentWorker<OpenAI> {
    taskHandler: TaskHandler<OpenAI>;
}
export declare class OpenAIAgent extends AgentRunner<OpenAI> {
    constructor(params: OpenAIAgentParams);
    createStore: typeof AgentRunner.defaultCreateStore;
    static taskHandler: TaskHandler<OpenAI>;
}
export {};
