import { BindingKey } from '@loopback/core';
import { RequestListener } from '@loopback/http-server';
import { Server, Socket } from 'socket.io';
import { SocketIoServer, SocketIoServerOptions } from './socketio.server';
import { SocketIoInvokeMethod, SocketIoRejectMethod, SocketIoSendMethod, SocketIoSequence } from './types';
export declare namespace SocketIoBindings {
    const CONFIG: BindingKey<SocketIoServerOptions>;
    const IO: BindingKey<Server<import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, any>>;
    const REQUEST_LISTENER: BindingKey<RequestListener>;
    /**
     * Binding key for the server itself
     */
    const SERVER: BindingKey<SocketIoServer>;
    const SOCKET: BindingKey<Socket<import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, any>>;
    const MESSAGE: BindingKey<unknown[]>;
    const SEQUENCE: BindingKey<SocketIoSequence>;
    const INVOKE_METHOD: BindingKey<SocketIoInvokeMethod>;
    const SEND_METHOD: BindingKey<SocketIoSendMethod>;
    const REJECT_METHOD: BindingKey<SocketIoRejectMethod>;
    /**
     * Binding key for setting and injecting the host name of Http Server
     */
    const HOST: BindingKey<string | undefined>;
    /**
     * Binding key for setting and injecting the port number of Http Server
     */
    const PORT: BindingKey<number>;
    const CONTROLLERS_NAMESPACE = "socketio.controllers";
}
export declare namespace SocketIoTags {
    const SOCKET_IO = "socketio";
}
