import { Socket } from "socket.io-client";
export declare class SocketService {
    private static instances;
    private socketId;
    private socket;
    private mode;
    private connectionPromise;
    private apiKey;
    private protocol;
    private authenticated;
    private constructor();
    private initSocket;
    private clearSocketListeners;
    static createInstance(mode: string, apiKey?: string): SocketService;
    static getInstanceById(socketId: string): SocketService | undefined;
    getSocket(): Socket | null;
    getSocketId(): string;
    getProtocol(): "legacy" | "v2";
    isAuthenticated(): boolean;
    waitForConnection(): Promise<void>;
    isConnected(): boolean;
    disconnect(): void;
    static disconnectSocketById(socketId: string): void;
}
