import { ClassType } from '@deepkit/core'; import { AppModule } from '@deepkit/app'; import { RouteConfig, HttpRouter } from './router.js'; export interface HttpRouteFilterRoute { path?: string; pathRegExp?: RegExp; httpMethod?: 'GET' | 'HEAD' | 'POST' | 'PATCH' | 'PUT' | 'DELETE' | 'OPTIONS' | 'TRACE'; category?: string; group?: string; } export declare class HttpRouteFilterModel { controllers: ClassType[]; excludeControllers: ClassType[]; routes: HttpRouteFilterRoute[]; excludeRoutes: HttpRouteFilterRoute[]; routeNames: string[]; excludeRouteNames: string[]; modules: AppModule[]; excludeModules: AppModule[]; moduleClasses: ClassType>[]; excludeModuleClasses: ClassType>[]; reset(): void; } export declare class HttpRouterFilterResolver { protected router: HttpRouter; constructor(router: HttpRouter); /** * Resolves */ resolve(filter: HttpRouteFilterModel): RouteConfig[]; } /** * A class to describe a filter for routes. */ export declare class HttpRouteFilter { model: HttpRouteFilterModel; reset(): this; forControllers(...controllers: ClassType[]): this; excludeControllers(...controllers: ClassType[]): this; forRoutes(...routes: HttpRouteFilterRoute[]): this; excludeRoutes(...routes: HttpRouteFilterRoute[]): this; forRouteNames(...names: string[]): this; excludeRouteNames(...names: string[]): this; forModules(...modules: AppModule[]): this; excludeModules(...modules: AppModule[]): this; forModuleClasses(...moduleClasses: ClassType>[]): this; excludeModuleClasses(...moduleClasses: ClassType>[]): this; } export declare type __ΩHttpRouteFilterRoute = any[];