import type { ManagerOptions, Socket } from 'socket.io-client';
import { Manager } from 'socket.io-client';
import type { CTSEvents, DefaultEvents, STCEvents } from '../../types';
import type { ClientManagerContext, ClientManagerTokenFn } from './types';
export declare class ClientManager<ListenEvents extends DefaultEvents = STCEvents, EmitEvents extends DefaultEvents = CTSEvents> {
    protected manager: Manager<ListenEvents, EmitEvents>;
    protected sockets: Map<string, Socket<ListenEvents, EmitEvents>>;
    protected tokenFn: ClientManagerTokenFn;
    constructor(ctx: ClientManagerContext);
    get options(): Partial<ManagerOptions>;
    connect(namespace?: string): Promise<Socket<ListenEvents, EmitEvents>>;
    disconnect(namespace?: string): Promise<void>;
    reconnect(namespace?: string): Promise<Socket<ListenEvents, EmitEvents>>;
    reconnectAll(): Promise<Socket<ListenEvents, EmitEvents>[]>;
    inject(namespace?: string): Socket<ListenEvents, EmitEvents>;
    eject(namespace?: string): void;
}
//# sourceMappingURL=module.d.ts.map