// import { IncomingHttpHeaders } from 'http'; import { RuntimeContext } from '@modern-js/runtime-core'; export enum RenderLevel { CLIENT_RENDER, SERVER_PREFETCH, SERVER_RENDER, } export type { BaseSSRServerContext as SSRServerContext } from '@modern-js/types'; export type ModernSSRReactComponent = React.ComponentType & { init: (context: RuntimeContext) => Promise; prefetch: (context: RuntimeContext) => Promise>; }; export interface RenderEntry { entryName: string; result: RenderResult; loadableManifest: string | undefined; } export type RenderHandler = ( jsx: React.ReactElement, renderer: RenderEntry, next: (jsx: React.ReactElement) => string, ) => string; export type RenderResult = { renderLevel: RenderLevel; html?: string; chunksMap: { js: string; css: string; }; };