// File: C:\Users\840G5\ilearn\app\teacherMain\page.tsx import * as entry from '../../../../app/teacherMain/page.js' import type { ResolvingMetadata } from 'next/dist/lib/metadata/types/metadata-interface.js' type TEntry = typeof import('../../../../app/teacherMain/page.js') // Check that the entry is a valid entry checkFields | false dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' dynamicParams?: boolean fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' preferredRegion?: 'auto' | 'global' | 'home' | string | string[] runtime?: 'nodejs' | 'experimental-edge' | 'edge' maxDuration?: number metadata?: any generateMetadata?: Function }, TEntry, ''>>() // Check the prop type of the entry function checkFields, 'default'>>() // Check the arguments and return type of the generateMetadata function if ('generateMetadata' in entry) { checkFields>, 'generateMetadata'>>() checkFields>, 'generateMetadata'>>() } // Check the arguments and return type of the generateStaticParams function if ('generateStaticParams' in entry) { checkFields>, 'generateStaticParams'>>() checkFields }, { __tag__: 'generateStaticParams', __return_type__: ReturnType> }>>() } type PageParams = any export interface PageProps { params?: any searchParams?: any } export interface LayoutProps { children?: React.ReactNode params?: any } // ============= // Utility types type RevalidateRange = T extends { revalidate: any } ? NonNegative : never // If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit. type OmitWithTag = Omit type Diff = 0 extends (1 & T) ? {} : OmitWithTag type FirstArg = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never type SecondArg = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never type MaybeField = T extends { [k in K]: infer G } ? G extends Function ? G : never : never function checkFields<_ extends { [k in keyof any]: never }>() {} // https://github.com/sindresorhus/type-fest type Numeric = number | bigint type Zero = 0 | 0n type Negative = T extends Zero ? never : `${T}` extends `-${string}` ? T : never type NonNegative = T extends Zero ? T : Negative extends never ? T : '__invalid_negative_number__'