/** * Federation Hub Client - WebSocket client for agent-to-hub communication */ type AgentDB = any; export interface HubClientConfig { endpoint: string; agentId: string; tenantId: string; token: string; } export interface SyncMessage { type: 'auth' | 'pull' | 'push' | 'ack' | 'error'; agentId?: string; tenantId?: string; token?: string; vectorClock?: Record; data?: any[]; error?: string; timestamp: number; } export declare class FederationHubClient { private config; private ws?; private connected; private vectorClock; private lastSyncTime; private messageHandlers; constructor(config: HubClientConfig); /** * Connect to hub with WebSocket */ connect(): Promise; /** * Handle incoming message */ private handleMessage; /** * Sync with hub */ sync(db: AgentDB): Promise; /** * Get local changes from database */ private getLocalChanges; /** * Update vector clock */ private updateVectorClock; /** * Send message to hub */ private send; /** * Disconnect from hub */ disconnect(): Promise; /** * Check connection status */ isConnected(): boolean; /** * Get sync stats */ getSyncStats(): { lastSyncTime: number; vectorClock: Record; }; } export {}; //# sourceMappingURL=FederationHubClient.d.ts.map