import express = require("express"); import { Startup } from "./Startup"; import { Dictionary } from "./utils/Dictionary"; import { IController } from "./Controllers/IController"; import { RequestHandler, NextFunction } from "express-serve-static-core"; import socketio from 'socket.io'; import { Channel } from "./Channels/Channel"; export declare type IAppConfig = { controllersPath: string; routerMount: string; name: string; middleware?: Array; sessionware?: Array<(socket: socketio.Socket, next: NextFunction) => void>; staticFiles?: string; channels?: Array; }; export declare class Program { private router; private middleware; private sessionware; name: string; configure: Startup; expressApp: express.Application; routerMount: string; io: socketio.Server; channels: Array; constructor(config: IAppConfig); private configureApp; private configureSockets; private configureRouter; protected addControllers(controllers: Dictionary): void; private registerController; private registerRoute; }