UNPKG

1.14 kBTypeScriptView Raw
1import { R as RouteModule } from './routeModules-CA7kSxJJ.js';
2
3/**
4 * Apps can use this interface to "register" app-wide types for React Router via interface declaration merging and module augmentation.
5 * React Router should handle this for you via type generation.
6 *
7 * For more on declaration merging and module augmentation, see https://www.typescriptlang.org/docs/handbook/declaration-merging.html#module-augmentation .
8 */
9interface Register {
10}
11type AnyParams = Record<string, string | undefined>;
12type AnyPages = Record<string, {
13 params: AnyParams;
14}>;
15type Pages = Register extends {
16 pages: infer Registered extends AnyPages;
17} ? Registered : AnyPages;
18type AnyRouteFiles = Record<string, {
19 id: string;
20 page: string;
21}>;
22type RouteFiles = Register extends {
23 routeFiles: infer Registered extends AnyRouteFiles;
24} ? Registered : AnyRouteFiles;
25type AnyRouteModules = Record<string, RouteModule>;
26type RouteModules = Register extends {
27 routeModules: infer Registered extends AnyRouteModules;
28} ? Registered : AnyRouteModules;
29
30export type { Pages as P, RouteFiles as R, RouteModules as a, Register as b };