1// deno-fmt-ignore-file
2// biome-ignore format: generated types do not need formatting
3// prettier-ignore
4import type { PathsForPages, GetConfigResponse, SearchCodecsForPages } from 'waku/router';
5
6// prettier-ignore
7import type { getConfig as File_Root_getConfig } from './pages/_root';
8// prettier-ignore
9import type { getConfig as File_About_getConfig } from './pages/about';
10// prettier-ignore
11import type { getConfig as File_ConfigMarker_getConfig } from './pages/config-marker';
12// prettier-ignore
13import type { getConfig as File_Index_getConfig } from './pages/index';
14// prettier-ignore
15import type { getConfig as File_ItemsId_getConfig } from './pages/items/[id]';
16// prettier-ignore
17import type { getConfig as File_SsgEnv_getConfig } from './pages/ssg-env';
18
19// prettier-ignore
20type Page =
21| ({ path: '/_root' } & GetConfigResponse<typeof File_Root_getConfig>)
22| ({ path: '/about' } & GetConfigResponse<typeof File_About_getConfig>)
23| ({ path: '/config-marker' } & GetConfigResponse<typeof File_ConfigMarker_getConfig>)
24| ({ path: '/' } & GetConfigResponse<typeof File_Index_getConfig>)
25| ({ path: '/items/[id]' } & GetConfigResponse<typeof File_ItemsId_getConfig>)
26| ({ path: '/ssg-env' } & GetConfigResponse<typeof File_SsgEnv_getConfig>);
27
28// prettier-ignore
29type Layout =
30| { path: '/' };
31
32// prettier-ignore
33declare module 'waku/router' {
34 interface RouteConfig {
35 paths: PathsForPages<Page>;
36 }
37 interface CreatePagesConfig {
38 pages: Page;
39 layouts: Layout;
40 }
41 interface SearchCodecsConfig extends SearchCodecsForPages<Page> {}
42}