/// import type { RequestHandler } from '@umijs/bundler-utils/compiled/express'; import React from 'react'; import type { IhtmlPageOpts, UmiRequest } from './types'; interface RouteLoaders { [key: string]: () => Promise; } export declare type ServerInsertedHTMLHook = (callbacks: () => React.ReactNode) => void; interface CreateRequestServerlessOptions { /** * folder path for `build-manifest.json` */ sourceDir?: string; } interface CreateRequestHandlerOptions extends CreateRequestServerlessOptions { routesWithServerLoader: RouteLoaders; pluginManager: any; manifest: ((sourceDir?: string) => { assets: Record; }) | { assets: Record; }; getRoutes: (PluginManager: any) => any; getClientRootComponent: (PluginManager: any) => any; createHistory: (opts: any) => any; helmetContext?: any; reactVersion: string; ServerInsertedHTMLContext: React.Context; htmlPageOpts: IhtmlPageOpts; __INTERNAL_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: { pureApp: boolean; pureHtml: boolean; }; mountElementId: string; basename?: string; useStream?: boolean; } export declare function createMarkupGenerator(opts: CreateRequestHandlerOptions): (url: string) => Promise; declare type IExpressRequestHandlerArgs = Parameters; declare type IWorkerRequestHandlerArgs = [ ev: FetchEvent, opts?: { modifyResponse?: (res: Response) => Promise | Response; } ]; export default function createRequestHandler(opts: CreateRequestHandlerOptions): (...args: IExpressRequestHandlerArgs | IWorkerRequestHandlerArgs) => Promise; export declare function createUmiHandler(opts: CreateRequestHandlerOptions): (req: UmiRequest, params?: CreateRequestHandlerOptions) => Promise; export declare function createUmiServerLoader(opts: CreateRequestHandlerOptions): (req: UmiRequest) => Promise; export declare function createAppRootElement(opts: CreateRequestHandlerOptions): (...args: IExpressRequestHandlerArgs | IWorkerRequestHandlerArgs) => Promise<() => React.ReactElement> | undefined>; export {};