export default class Client {
    /**
     * Creates a Socket Client Instance
     *
     * @param options {string | {url:string, params?:Function,
     *   noConnect?:boolean }}
     */
    constructor(options: string | {
        url: string;
        params?: Function;
        noConnect?: boolean;
    });
    options: {
        url: string;
        params?: Function;
        noConnect?: boolean;
    };
    connected: boolean;
    /** Connect to server */
    connect(): void;
    /**
     * Disconnect from server
     *
     * @param {boolean} noReconnect - To prevent reconnections
     */
    disconnect: (noReconnect: boolean) => void;
    /**
     * Listen for data sent by the server
     *
     * @param {string} key
     * @param {any | Function} [valueOrCallback]
     * @param {Function} [callback]
     * @returns {Promise<any> | undefined} When callback is provided it
     *   returns a promise
     */
    emit(key: string, valueOrCallback?: any | Function, callback?: Function | undefined): Promise<any> | undefined;
    /**
     * Listen for data sent by the server
     *
     * @param {string} key
     * @param {Function} value
     * @returns () => void | undefined - `off` function to remove the
     *   listener
     */
    on(key: string, value: Function): (() => void) | undefined;
    decode(s: any): Promise<Blob> | Promise<ArrayBuffer> | undefined;
    #private;
}
