import { AsyncHandler } from '@tsdi/ioc';
import { HandleType } from '@tsdi/boot';
import { IContext } from '../IContext';
import { MvcMiddleware } from '../middlewares/MvcMiddleware';
import { RouteChecker } from '../services/RouteChecker';
export declare const RouteUrlArgToken: import("@tsdi/ioc").TokenId<string>;
export declare abstract class MvcRoute extends MvcMiddleware {
    static ρNPT: boolean;
    protected metaUrl: string;
    private _url;
    url:string;
    
    constructor(url: string);
    private checker;
    getChecker(): RouteChecker;
    protected getReqRoute(ctx: IContext): string;
    protected vaildify(routePath: string, foreNull?: boolean): string;
    protected match(ctx: IContext): boolean;
    execute(ctx: IContext, next: () => Promise<void>): Promise<void>;
    abstract navigate(ctx: IContext, next: () => Promise<void>): Promise<void>;
    protected toHandle(handleType: HandleType<IContext>): AsyncHandler<IContext>;
    static ρAnn(): any;
}
