import type { AgentConfig, AgentResult } from '../types/agent.js'; import type { CompletionRequest } from '../types/messages.js'; import type { NexusResponse } from '../types/response.js'; /** The part of a client the agent loop needs. */ export interface AgentModelClient { /** Runs one completion. */ complete(request: CompletionRequest): Promise; } /** * A simple tool-calling loop: calls the model, runs the tools it asks for, and repeats until it * answers or runs out of iterations. `createAgent()` adds checkpoints and approvals. */ export declare class AgentLoop { private client; constructor(client: AgentModelClient); /** Runs the loop to completion. Defaults to 8 model calls. */ run(config: AgentConfig): Promise; }