love-on-the-route
Version:
29 lines (28 loc) • 894 B
TypeScript
type RouteHandler = () => void;
interface Route {
path: string;
handler: RouteHandler;
title: string;
children?: Route[];
}
export declare class Router {
private rootElement;
private routes;
private contentElement;
private defaultLanguage?;
private supportedLanguages?;
constructor(rootElement: HTMLElement);
addRoute(path: string, handler: RouteHandler, title: string, parentPath?: string): void;
autoGenerateRoutes(components: Record<string, {
default: RouteHandler;
}>): void;
private findRoute;
navigate(path: string): void;
render(): void;
private setupNavigationListener;
setMultilingualConfig(supportedLanguages: string[], defaultLanguage?: string): void;
private handleMultilingualRedirect;
getRoutes(): Route[];
}
export declare function createRouter(rootElement: HTMLElement): Router;
export {};