declare class AbortRoute { } declare class AbortAll { } export interface Request { id: string; control: { next: AbortRoute; abort: AbortAll; }; [key: string]: any; } declare type Filter = (req: Request) => void; declare type Route = Filter[]; export declare function createRequest(id: string): Request; export declare class Router { routes: Array; subrouters: Array<[string, Router]>; private deferred; private request; private exitHandlers; constructor(); currentRequest(exception?: any): Request | null; route(...fns: Route): this; mount(prefix: string, subrouter: Router): void; runRoute(route: Route): boolean; defer(filter: Filter): void; onExit(...handlers: Array<() => void>): void; private runDeferred; private runExitHandlers; private runRoutes; run(...filters: Filter[]): boolean; listen(...filters: Filter[]): this; } export {}; //# sourceMappingURL=router.d.ts.map