import type { JSONObject } from './types.js';
export declare class Socket {
    private _url;
    private _requests;
    private _sending;
    private _sessionId?;
    private _onConnect;
    private _onReceive;
    private _ensureConnectionInterval?;
    private _receiver?;
    private _lastMessageReceived;
    private _messageInterval?;
    private _pingInterval?;
    constructor(url: string);
    send(message: {
        type: string;
        [key: string]: unknown;
    }, callback?: (data?: unknown) => void, wait?: boolean): void;
    _processRequests(): Promise<void>;
    connect(options: {
        onConnect: () => void;
        onReceive: (data: JSONObject) => void;
    }): void;
    private _ensureConnection;
    disconnect(): void;
    _reset(): void;
    reconnect(): void;
}
//# sourceMappingURL=Socket.d.ts.map