import { AgentOutput } from './AgentOutput.js';
import { ChatMessage, FunctionDefinition } from '../llm/index.js';
export type AgentFunctionResult = {
    outputs: AgentOutput[];
    messages: ChatMessage[];
    storeInVariable?: boolean;
};
export interface AgentFunction<TContext> {
    definition: FunctionDefinition;
    buildExecutor(context: TContext): (params: any, rawParams?: string) => Promise<AgentFunctionResult>;
}
