//#region src/services/vite/ssr/entryTypeExtractors.d.ts /** * Entry objects from `define*Entry` keep getters optional on the type, so * extract via `keyof` + `NonNullable` rather than `extends { getX: … }`. * Shared by `defineClientEntry` and `createSkuContexts`. */ type SiteOf = 'getSite' extends keyof ServerEntry ? NonNullable extends ((...args: never[]) => infer S) ? S extends string ? S : string : string : string; type ClientContextOf = 'getClientContext' extends keyof ServerEntry ? NonNullable extends ((...args: never[]) => infer C) ? Awaited : undefined : undefined; type ReactContextOf = 'getReactContext' extends keyof Entry ? NonNullable extends ((...args: never[]) => infer R) ? Awaited : undefined : undefined; //#endregion export { ClientContextOf, ReactContextOf, SiteOf };