export declare type Route = (...args: string[]) => void; export interface Routes { [key: string]: Route | Routes; } export interface RouterConfig { recurse?: boolean | "forward"; delimiter?: string; strict?: boolean; notfound?: () => void; resource?: {}; html5history?: boolean; run_handler_in_init?: boolean; convert_hash_in_init?: boolean; after?: () => void; before?: () => void; on?: () => void; } export declare class Router { listeners: Function[]; private routes; private methods; private _methods; private historySupport; private recurse; private delimiter; private strict; private notfound?; private resource?; private history; private run_in_init; private convert_hash_in_init; private every; private _invoked; private last; constructor(routes: Routes); configure(options?: RouterConfig): this; private mount(routes, path?); private insert(method, path, route, parent?); init(r?: string): this; private readonly getPath; private dispatch(method, path); private traverse(method, path, routes, regexp, filter?); private invoke(fns, thisArg); private runlist(fns); }