import type { Component, InjectionKey } from 'vue'; import { type PageData, type PageModule } from '@/shared'; export interface Route { path: string; hash: string; query: string; contentSfc: Component | undefined; data: PageData; } export interface Router { route: Route; go: (to: string, options?: { replace?: boolean; initialLoad?: boolean; }) => Promise; onBeforeRouteChange?: (to: string) => Promise | boolean | undefined; onAfterRouteChange?: (to: string) => Promise | undefined; } export declare const routerSymbol: InjectionKey; export interface RouterOptions { basePath?: string; fallbackComponent?: Component; } export declare function createRouter(loadPageModule: (path: string) => Promise, options?: RouterOptions): Router; export declare function scrollToHash(hash: string): void; export declare function useRoute(): Route; export declare function useRouter(): Router; //# sourceMappingURL=router.d.ts.map