/// <reference types="node" />
import { Server } from 'http';
import { Server as SocketIoServer, Socket } from 'socket.io';
import { AdapterEvent, ParameterType, SocketsApplicationAdapter } from '../sockets';
export declare class SocketIoAdapter implements SocketsApplicationAdapter {
    app: SocketIoServer<import("socket.io/dist/typed-events").DefaultEventsMap, import("socket.io/dist/typed-events").DefaultEventsMap, import("socket.io/dist/typed-events").DefaultEventsMap, any>;
    type: string;
    private server;
    constructor(app?: SocketIoServer<import("socket.io/dist/typed-events").DefaultEventsMap, import("socket.io/dist/typed-events").DefaultEventsMap, import("socket.io/dist/typed-events").DefaultEventsMap, any>);
    attachServer(server: Server): void;
    close(): void;
    disconnect(socket: Socket): void;
    emit(socket: Socket, event: string, message: unknown): void;
    events(events: AdapterEvent[]): void;
    getParam(type: ParameterType, index: number, socket: Socket, event: string, ...args: any[]): () => any;
    listen(options?: object): void;
    use(...args: any[]): void;
    private getAck;
}
