/**
 * Agent gRPC Client for Clawx
 *
 * Client for agents to connect to the gRPC server
 */
import { EventEmitter } from 'events';
import type { Persona } from '../../types/persona.js';
import type { GrpcAgentMessage } from './agent-grpc-server.js';
export interface GrpcClientOptions {
    agentId: string;
    agentName?: string;
    persona?: Persona;
    serverAddress: string;
    reconnectDelay?: number;
    heartbeatInterval?: number;
}
export declare class AgentGrpcClient extends EventEmitter {
    private options;
    private client;
    private call;
    private connected;
    private registered;
    private heartbeatTimer;
    private reconnectTimer;
    constructor(options: GrpcClientOptions);
    private connect;
    private setupCallHandlers;
    private handleMessage;
    private handleSystemMessage;
    private register;
    private startHeartbeat;
    private sendHeartbeat;
    private handleError;
    private handleDisconnect;
    private scheduleReconnect;
    private stopHeartbeat;
    send(msg: GrpcAgentMessage): boolean;
    sendChat(toAgent: string, message: string): boolean;
    disconnect(): void;
    isConnected(): boolean;
    isRegistered(): boolean;
    getAgentId(): string;
    getAgentName(): string;
    getPersona(): Persona | undefined;
}
//# sourceMappingURL=agent-grpc-client.d.ts.map