export interface IRoutes { path: string; load: () => Promise; name: string; componentName: string; isNav?: boolean; children?: boolean; data?: any; isAuth?: boolean; } export interface ActivateObject { name: string; isNav: boolean; href: string; data: any; componentName: string; } interface IFreeRouterElement { canDeactivate: () => Promise; activate: (url: string, params: any, activateObject: ActivateObject) => Promise; connectedCallback: () => void; } export interface Router { addRouterConfig(name: string, routes: IRoutes[]): void; } export declare type IRouterHTMLElement = IFreeRouterElement & HTMLElement; export declare class RouterInternal { active: string[]; private routers; private routersConfig; private backEventtriggered; private lastpop; private haltedActivate; private foundRoute; activeRoute: ActivateObject; usehash: boolean; private routeNotFoundCallback; private routeAuthCallback; loadingHandlerCallback: (options: string, activeRouter: string) => void; routeChangeHandlerCallback: (options: ActivateObject, activeRouter: string) => void; constructor(); addListeners(): void; removeListeners(): void; cleanUp(evenListeners: boolean): void; activateRouterElement(name: string): void; deactivateRouterElement(name: string): void; goto(hash: string, params?: any): void; getNavLinks(routerName: string | undefined, active?: boolean): ActivateObject[]; getNavLink(pathname: string, routerName: string | undefined, active?: boolean): ActivateObject; private hashChange; private dowork; private routeNotFound; registerUnknowRouteHandler(callback: (hash: string) => void): void; private routeAuth; href(name: string, params?: object, clean?: boolean): string; registerAuthRouteHandler(callback: (options: ActivateObject) => void): void; registerLoadingHandler(callback: (hash: string, activeRouter: string) => void): void; registerRouteChangeHandler(callback: (options: ActivateObject, activeRouter: string) => void): void; addRouterConfig(name: string, routes: IRoutes[]): void; removeRouterConfig(name: string): void; } export declare function getRouter(): any; export declare function href(name: string, params?: object, clean?: boolean): any; export declare function navs(routerName: string): any; export declare function addRouterConfig(name: string, routes: IRoutes[]): any; export declare function removeRouterConfig(name: string): any; export declare function unknowRouteHandler(callback: (hash: string) => void): any; export declare function authRouteHandler(callback: (options: ActivateObject) => void): any; export declare function goto(hash: string, params?: any): any; export {};