import { ILoggerFactory } from '@rafterjs/logger-plugin'; import { IRouter } from 'express-serve-static-core'; import { ConfigToRouteDtoTransformer } from './ConfigToRouteDtoTransformer'; import { IRoutes } from './IRouteConfig'; import { RouterProvider } from './RouterProvider'; export interface IRoutesProvider { createInstance(routesConfig: IRoutes): IRouter; } export default class RoutesProvider implements IRoutesProvider { private readonly configToRouteDtoTransformer; private readonly routerProvider; private readonly loggerFactory; private readonly logger; constructor(configToRouteDtoTransformer: ConfigToRouteDtoTransformer, routerProvider: RouterProvider, loggerFactory: ILoggerFactory); createInstance(routesConfig: IRoutes): IRouter; private applyRoutes; }