import { FileBasedRoutingOptions } from '../types/index.js';
import { RouteEndpoints } from '../types/routing.js';
import 'express';
import '../guards/exception.js';
import '../types/plugins.js';
import '../types/common.js';
import '../types/exceptions.js';

declare class FileBasedRouting {
    readonly base: string;
    readonly endpoints: RouteEndpoints;
    private readonly endpointsQueue;
    private _app;
    private readonly errorGuard;
    private readonly plugins;
    private readonly collectEndpoints;
    constructor({ app, target, errorGuard, plugins, collectEndpoints }: FileBasedRoutingOptions);
    createRoutes(): Promise<void>;
    private mapRoutes;
    private handleDir;
    private handleFile;
    private pushMiddlewares;
    private bindPlugins;
    private isRequestHandlerOrThrow;
    private buildPluginMap;
    static collectRoutes(target: string): Promise<RouteEndpoints>;
}

export { FileBasedRouting as default };
