import { ArtifactOptions, BaseArtifactBooter } from '@loopback/boot';
import { Application } from '@loopback/core';
import { SocketIoServer } from '../socketio.server';
/**
 * A class that extends {@link @loopback/boot#BaseArtifactBooter} to boot the
 * {@link SocketIoController} artifact type.
 *
 * @remarks
 * Discovered controllers are bound using
 * {@link @loopback/core#Application.controller}.
 *
 * Supported phases: `configure`, `discover`, `load`
 *
 * @param app - {@link @loopback/core#Application} instance
 * @param projectRoot - Root of User Project relative to which all paths are
 * resolved
 * @param socketioControllerConfig - Controller Artifact Options Object
 */
export declare class SocketIoBooter extends BaseArtifactBooter {
    app: Application;
    socketioControllerConfig: ArtifactOptions;
    protected socketioServer: SocketIoServer;
    constructor(app: Application, projectRoot: string, socketioControllerConfig: ArtifactOptions, socketioServer: SocketIoServer);
    /**
     * Uses super method to get a list of Artifact classes. Boot each class by
     * binding it to the application using `app.controller(controller);`.
     */
    load(): Promise<void>;
}
/**
 * Default ArtifactOptions for SocketIoControllerBooter.
 */
export declare const SocketIoControllerDefaults: ArtifactOptions;
