/**
 * Agent gRPC Server for Clawx
 *
 * Replaces WebSocket server with gRPC for agent-to-agent communication
 */
import { EventEmitter } from 'events';
import type { Persona } from '../../types/persona.js';
export interface GrpcAgentMessage {
    id: string;
    type: 'chat' | 'tool_call' | 'tool_result' | 'register' | 'heartbeat' | 'system' | 'error';
    from: string;
    to: string;
    content: string;
    timestamp: number;
    metadata?: Record<string, any>;
}
export interface ConnectedAgent {
    id: string;
    name: string;
    call: any;
    persona?: Persona;
    lastSeen: number;
}
export declare class AgentGrpcServer extends EventEmitter {
    private port;
    private server;
    private agents;
    constructor(port: number);
    private setupService;
    private handleMessage;
    private handleRegistration;
    private updateAgentHeartbeat;
    private routeChatMessage;
    private routeMessage;
    private broadcastMessage;
    private sendToAgent;
    private removeAgentByCall;
    start(): Promise<void>;
    stop(): Promise<void>;
    sendChat(fromAgent: string, toAgent: string, message: string): boolean;
    broadcast(fromAgent: string, message: string): number;
    getConnectedAgents(): Array<{
        id: string;
        name: string;
        persona?: Persona;
    }>;
    getAgentCount(): number;
}
//# sourceMappingURL=agent-grpc-server.d.ts.map