2021-03-01 15:06:11 +08:00

21 lines
662 B
TypeScript

import type { Component, InjectionKey } from 'vue';
import { PageData } from '../../../types/shared';
export interface Route {
path: string;
data: PageData;
component: Component | null;
}
export interface Router {
route: Route;
go: (href?: string) => Promise<void>;
}
export declare const RouterSymbol: InjectionKey<Router>;
interface PageModule {
__pageData: string;
default: Component;
}
export declare function createRouter(loadPageModule: (path: string) => PageModule | Promise<PageModule>, fallbackComponent?: Component): Router;
export declare function useRouter(): Router;
export declare function useRoute(): Route;
export {};