import { AgentConfig } from './agents';
import { ToolContext } from './tools';
import { Job } from './job-store';
export interface RunResult {
    finalText: string;
    toolCallCount: number;
    turns: number;
}
/**
 * Core Gemini agent loop.
 *
 * Sends the task to Gemini with the agent's system prompt and tools,
 * then loops: execute tool calls → send results back → repeat until
 * the model stops calling tools or MAX_TURNS is reached.
 */
export declare function runAgent(job: Job, config: AgentConfig, task: string, ctx: ToolContext): Promise<RunResult>;
