/**
 * TypeScript WebSocket Connection for Balancy WASM
 * Analogous to Unity's WebSocketConnection.cs
 * Handles Socket.IO connections with authentication and event management
 */
interface WebSocketAuthData {
    token: string;
    userId: string;
    gameId: string;
    environment: number;
    deviceId: string;
}
interface TypeScriptWebSocketBridge {
    notifyConnectionStatusChanged(connectionId: number, connected: boolean, errorMessage?: string): void;
    notifySocketIOEvent(connectionId: number, eventName: string, eventData: string, needsAck: boolean, ackId: number): void;
    notifySocketIOError(connectionId: number, errorCode: number, errorMessage: string): void;
}
export declare class TypeScriptWebSocketConnection {
    private readonly connectionId;
    private readonly bridge;
    private socket;
    private isConnected;
    private disposed;
    private originalUrl;
    private originalAuthData;
    private handshakeCompleted;
    private subscribedEvents;
    private pendingAcks;
    private nextAckId;
    private lastPing;
    private readonly PING_INTERVAL_MS;
    private readonly PING_TIMEOUT_MS;
    private readonly RECONNECT_DELAY_MS;
    constructor(connectionId: number, bridge: TypeScriptWebSocketBridge);
    /**
     * Connect to Socket.IO server with authentication
     */
    connectAsync(url: string, authData: WebSocketAuthData): Promise<void>;
    /**
     * Subscribe to a specific event
     */
    subscribeToEvent(eventName: string): void;
    /**
     * Send a message to the server
     */
    sendMessage(eventName: string, data: string): void;
    /**
     * Send acknowledgment response
     */
    sendAcknowledgment(ackId: number, responseData: string): void;
    /**
     * Dispose the connection and cleanup resources
     */
    dispose(): void;
    /**
     * Get connection info for debugging
     */
    getConnectionInfo(): any;
    /**
     * Validate authentication data
     */
    private validateAuthData;
    /**
     * Setup Socket.IO event handlers for the connection
     */
    private setupSocketEventHandlers;
    /**
     * Setup generic event handlers for subscribed events
     */
    private setupGenericEventHandlers;
    /**
     * Monitor connection health (similar to C++ CheckConnectionHealth)
     */
    private startHealthMonitoring;
    /**
     * Attempt reconnection after a delay
     */
    private attemptReconnection;
}
export {};
//# sourceMappingURL=TypeScriptWebSocketConnection.d.ts.map