import { EventEmitter } from 'events';
import { AgentSession, ExecutionResult, MCPRequest, AgentHealthStatus, AgentRouterStats } from '../types/enhanced-core.js';
export declare class AgentRouter extends EventEmitter {
    private activeSessions;
    private agentProcesses;
    private agentConnections;
    private executionQueue;
    private healthStatus;
    private stats;
    private maxConcurrentSessions;
    private defaultTimeout;
    private healthCheckInterval;
    private healthCheckTimer?;
    constructor();
    executeWithAgent(agentId: string, request: MCPRequest, sessionId: string, enforced?: boolean): Promise<ExecutionResult>;
    private createAgentSession;
    private ensureAgentProcess;
    private spawnAgentProcess;
    private waitForProcessReady;
    private getMCPConnection;
    private createMCPConnection;
    private sendMCPRequest;
    private executeTaskWithTimeout;
    private setupProcessHandlers;
    private isProcessHealthy;
    private isConnectionHealthy;
    private updateAgentHealth;
    private startHealthMonitoring;
    private performHealthChecks;
    private updateExecutionTimeStats;
    private cleanupSession;
    private setupProcessCleanup;
    cancelExecution(sessionId: string): Promise<boolean>;
    getStats(): AgentRouterStats;
    getHealthStatus(): Map<string, AgentHealthStatus>;
    getActiveSessions(): AgentSession[];
    terminateAgent(agentId: string): Promise<boolean>;
    shutdown(): Promise<void>;
}
//# sourceMappingURL=agent-router.d.ts.map