import { Express } from 'express'; import { Logger } from 'winston'; import { ConfigType } from './config-type'; import { AbstractEndpoint, Endpoint } from './endpoint'; import { AuxMethod, Method } from './method'; export declare class DependsOnMethod { readonly methods: { [K in Method]?: Endpoint | Endpoint; }; constructor(methods: { [K in Method]?: Endpoint | Endpoint; }); } export interface Routing { [PATH: string]: Routing | DependsOnMethod | AbstractEndpoint; } export interface RoutingCycleParams { routing: Routing; cb: (endpoint: AbstractEndpoint, fullPath: string, method: Method | AuxMethod) => void; parentPath?: string; cors?: boolean; } export declare const routingCycle: ({ routing, cb, parentPath, cors }: RoutingCycleParams) => void; export declare const initRouting: ({ app, logger, config, routing }: { app: Express; logger: Logger; config: ConfigType; routing: Routing; }) => void;