import { Agent } from "../agent/agent.js";
import type { AgentLogger, ToolInvoker } from "../agent/types.js";
import type { HookRegistry } from "../contracts/hooks.js";
import { type LLMTransport, type ProviderRegistry } from "./provider-core-facade.js";
import { type ResolvedTextGenerationConfig } from "./model-client-resolver.js";
export interface BuildCliAgentDeps {
    client: CliAgentClient;
    toolInvoker: ToolInvoker;
    log: AgentLogger;
    hooks: HookRegistry;
    maxRounds?: number;
    verbose: boolean;
    projectRoot: string;
}
export interface CliAgentClient {
    transport: LLMTransport;
    apiKey: string;
    model: string;
    provider: string;
    baseUrl: string;
}
export interface BuiltCliAgent {
    agent: Agent;
    transport: LLMTransport;
    apiKey: string;
    model: string;
    provider: string;
    baseUrl: string;
}
export declare function createCliAgentClient(deps: {
    resolvedConfig: ResolvedTextGenerationConfig;
    providerRegistry: ProviderRegistry;
    sessionId: string;
}): CliAgentClient;
export declare function buildCliAgent(deps: BuildCliAgentDeps): BuiltCliAgent;
