Files
Mycontent/.next/types/routes.d.ts
2025-12-29 14:01:37 +08:00

99 lines
2.9 KiB
TypeScript

// This file is generated automatically by Next.js
// Do not edit this file manually
type AppRoutes = "/" | "/about" | "/admin" | "/admin/content" | "/admin/login" | "/admin/payment" | "/admin/qrcodes" | "/admin/settings" | "/admin/users" | "/admin/withdrawals" | "/chapters" | "/docs" | "/documentation" | "/documentation/capture" | "/my" | "/my/purchases" | "/my/referral" | "/my/settings" | "/read/[id]"
type AppRouteHandlerRoutes = "/api/config" | "/api/content" | "/api/documentation/generate" | "/api/menu" | "/api/payment/checkout" | "/api/payment/create" | "/api/payment/notify/[gateway]"
type PageRoutes = never
type LayoutRoutes = "/" | "/admin"
type RedirectRoutes = never
type RewriteRoutes = never
type Routes = AppRoutes | PageRoutes | LayoutRoutes | RedirectRoutes | RewriteRoutes | AppRouteHandlerRoutes
interface ParamMap {
"/": {}
"/about": {}
"/admin": {}
"/admin/content": {}
"/admin/login": {}
"/admin/payment": {}
"/admin/qrcodes": {}
"/admin/settings": {}
"/admin/users": {}
"/admin/withdrawals": {}
"/api/config": {}
"/api/content": {}
"/api/documentation/generate": {}
"/api/menu": {}
"/api/payment/checkout": {}
"/api/payment/create": {}
"/api/payment/notify/[gateway]": { "gateway": string; }
"/chapters": {}
"/docs": {}
"/documentation": {}
"/documentation/capture": {}
"/my": {}
"/my/purchases": {}
"/my/referral": {}
"/my/settings": {}
"/read/[id]": { "id": string; }
}
export type ParamsOf<Route extends Routes> = ParamMap[Route]
interface LayoutSlotMap {
"/": never
"/admin": never
}
export type { AppRoutes, PageRoutes, LayoutRoutes, RedirectRoutes, RewriteRoutes, ParamMap, AppRouteHandlerRoutes }
declare global {
/**
* Props for Next.js App Router page components
* @example
* ```tsx
* export default function Page(props: PageProps<'/blog/[slug]'>) {
* const { slug } = await props.params
* return <div>Blog post: {slug}</div>
* }
* ```
*/
interface PageProps<AppRoute extends AppRoutes> {
params: Promise<ParamMap[AppRoute]>
searchParams: Promise<Record<string, string | string[] | undefined>>
}
/**
* Props for Next.js App Router layout components
* @example
* ```tsx
* export default function Layout(props: LayoutProps<'/dashboard'>) {
* return <div>{props.children}</div>
* }
* ```
*/
type LayoutProps<LayoutRoute extends LayoutRoutes> = {
params: Promise<ParamMap[LayoutRoute]>
children: React.ReactNode
} & {
[K in LayoutSlotMap[LayoutRoute]]: React.ReactNode
}
/**
* Context for Next.js App Router route handlers
* @example
* ```tsx
* export async function GET(request: NextRequest, context: RouteContext<'/api/users/[id]'>) {
* const { id } = await context.params
* return Response.json({ id })
* }
* ```
*/
interface RouteContext<AppRouteHandlerRoute extends AppRouteHandlerRoutes> {
params: Promise<ParamMap[AppRouteHandlerRoute]>
}
}