/**
 * overmind-client.ts — Native Node.js client for Overmind HTTP MCP
 * ═══════════════════════════════════════════════════════════════════
 *
 * Import this module to programmatically control agents.
 * No MCP library needed — raw HTTP + JSON-RPC 2.0.
 *
 * Usage:
 *   npm run build && node dist/overmind-client.js
 *
 * Or import in your TypeScript:
 *   import { OvermindClient } from './overmind-client.js';
 */
export type RunnerType = 'claude' | 'gemini' | 'kilo' | 'qwencli' | 'openclaw' | 'cline' | 'opencode' | 'hermes';
export interface AgentRunResult {
    agentName: string;
    runner: RunnerType;
    output: string;
    sessionId?: string;
    error?: string;
    durationMs?: number;
}
export declare class OvermindClient {
    private url;
    private auth;
    private id;
    private nextId;
    constructor(opts?: {
        url?: string;
        auth?: string;
    });
    health(): Promise<boolean>;
    /** Create a new agent definition (stored in registry) */
    createAgent(opts: {
        name: string;
        runner: RunnerType;
        prompt: string;
    }): Promise<{
        name: string;
        runner: RunnerType;
    }>;
    /** List all registered agents */
    listAgents(): Promise<string[]>;
    /** Delete an agent from the registry */
    deleteAgent(name: string): Promise<void>;
    /**
     * Run a single agent and wait for its output.
     * Timeout is per-agent, not global.
     */
    runAgent(opts: {
        agentName: string;
        prompt: string;
        timeoutMs?: number;
    }): Promise<AgentRunResult>;
    /**
     * Run multiple agents in parallel. Returns results in the same order.
     */
    runPool(agents: Array<{
        name: string;
        runner: RunnerType;
        prompt: string;
        timeoutMs?: number;
    }>): Promise<AgentRunResult[]>;
    /** Get status of a running agent (reads from RAM, no disk I/O) */
    agentStatus(agentName: string, runner?: RunnerType): Promise<string>;
    /** Stream output from a running agent (non-blocking) */
    agentStream(agentName: string, runner?: RunnerType): Promise<{
        output: string;
        isComplete: boolean;
    }>;
    /** Wait for an agent to finish (blocking, polls every 1s) */
    agentWait(agentName: string, timeoutMs?: number, runner?: RunnerType): Promise<string>;
    /** Kill a running agent */
    agentKill(agentName: string, runner?: RunnerType): Promise<string>;
}
export { OvermindClient as default };
//# sourceMappingURL=overmind-client.d.ts.map