import { Timeout } from '../../agent-utils/index.js';
import { AgentFunctionBase } from '../../functions/index.js';
import { AgentPrompts } from './AgentPrompts.js';
import { ExecuteAgentFunctionCalled } from '../../agent-core/index.js';
export declare class AgentConfig<TRunArgs> {
    readonly functions: AgentFunctionBase<any>[];
    readonly timeout?: Timeout | undefined;
    readonly shouldTerminate: (functionCalled: ExecuteAgentFunctionCalled) => boolean;
    readonly prompts: AgentPrompts<TRunArgs>;
    constructor(promptFactory: (onGoalAchievedFn: AgentFunctionBase<any>, onGoalFailedFn: AgentFunctionBase<any>) => AgentPrompts<TRunArgs>, functions: AgentFunctionBase<any>[], timeout?: Timeout | undefined, shouldTerminate?: (functionCalled: ExecuteAgentFunctionCalled) => boolean, overrideDefaultFunctions?: boolean);
}
