export { renderPage };
export { renderPage_addAsyncHookwrapper };
export type { PageContextInit };
export type { PageContextBegin };
import { type GlobalContextServer, type GlobalContextServerInternal } from './globalContext.js';
import { type HttpResponse } from './renderPage/createHttpResponse.js';
import type { PageContextServer } from '../../types/index.js';
import type { PageContextBuiltInServerInternal } from '../../shared/types.js';
type PageContextInit = Pick<PageContextBuiltInServerInternal, 'urlOriginal' | 'headersOriginal'> & {
    /** @deprecated Set `pageContextInit.urlOriginal` instead  */ url?: string;
    /** @deprecated Set pageContextInit.headersOriginal instead */ headers?: Record<string, string>;
};
type PageContextBegin = Awaited<ReturnType<typeof getPageContextBegin>>;
declare function renderPage<PageContextUserAdded extends {}, PageContextInitUser extends PageContextInit>(pageContextInit: PageContextInitUser): Promise<PageContextInitUser & {
    httpResponse: HttpResponse;
} & Partial<PageContextServer & PageContextUserAdded>>;
declare let asyncHookWrapper: <PageContext>(_httpRequestId: number, ret: () => Promise<PageContext>) => Promise<{
    pageContextReturn: Awaited<PageContext>;
}>;
declare function renderPage_addAsyncHookwrapper(wrapper: typeof asyncHookWrapper): void;
declare function getPageContextBegin(pageContextInit: PageContextInit, globalContext: GlobalContextServerInternal, globalContext_public: GlobalContextServer, httpRequestId: number): Promise<{
    isClientSide: boolean;
    isPrerendering: boolean;
} & Pick<PageContextBuiltInServerInternal, "urlOriginal" | "headersOriginal"> & {
    /** @deprecated Set `pageContextInit.urlOriginal` instead  */ url?: string;
    /** @deprecated Set pageContextInit.headersOriginal instead */ headers?: Record<string, string>;
} & {
    globalContext: GlobalContextServer;
    _globalContext: {
        isGlobalContext: true;
        _virtualFileExports: unknown;
        _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
        _pageConfigs: import("../../__internal/index.js").PageConfig[];
        _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
        _allPageIds: string[];
        config: import("../../types/index.js").ConfigResolved;
        pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
    } & ({
        _isProduction: false;
        _isPrerendering: false;
        assetsManifest: null;
        _viteDevServer: import("vite").ViteDevServer;
        viteConfig: import("vite").ResolvedConfig;
        viteConfigRuntime: {
            root: string;
            build: {
                outDir: string;
            };
            _baseViteOriginal: string;
            vitePluginServerEntry: {
                inject: boolean | undefined;
            };
        };
        baseServer: string;
        baseAssets: string;
        isClientSide: false;
        _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
        _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
        isGlobalContext: true;
        _virtualFileExports: unknown;
        _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
        _pageConfigs: import("../../__internal/index.js").PageConfig[];
        _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
        _allPageIds: string[];
        config: import("../../types/index.js").ConfigResolved;
        pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
    } | {
        _isPrerendering: true;
        viteConfig: import("vite").ResolvedConfig;
        _isProduction: true;
        assetsManifest: import("../shared/ViteManifest.js").ViteManifest;
        _viteDevServer: null;
        viteConfigRuntime: {
            root: string;
            build: {
                outDir: string;
            };
            _baseViteOriginal: string;
            vitePluginServerEntry: {
                inject: boolean | undefined;
            };
        };
        _usesClientRouter: boolean;
        baseServer: string;
        baseAssets: string;
        isClientSide: false;
        _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
        _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
        isGlobalContext: true;
        _virtualFileExports: unknown;
        _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
        _pageConfigs: import("../../__internal/index.js").PageConfig[];
        _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
        _allPageIds: string[];
        config: import("../../types/index.js").ConfigResolved;
        pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
    } | {
        _isPrerendering: false;
        viteConfig: null;
        _isProduction: true;
        assetsManifest: import("../shared/ViteManifest.js").ViteManifest;
        _viteDevServer: null;
        viteConfigRuntime: {
            root: string;
            build: {
                outDir: string;
            };
            _baseViteOriginal: string;
            vitePluginServerEntry: {
                inject: boolean | undefined;
            };
        };
        _usesClientRouter: boolean;
        baseServer: string;
        baseAssets: string;
        isClientSide: false;
        _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
        _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
        isGlobalContext: true;
        _virtualFileExports: unknown;
        _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
        _pageConfigs: import("../../__internal/index.js").PageConfig[];
        _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
        _allPageIds: string[];
        config: import("../../types/index.js").ConfigResolved;
        pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
    });
    _baseServer: string;
    _baseAssets: string;
    _includeAssetsImportedByServer: boolean;
    _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
    _pageConfigs: import("../../__internal/index.js").PageConfig[];
    _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
    _allPageIds: string[];
    _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
    _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
    _pageContextInit: PageContextInit;
    _urlRewrite: null;
    _urlHandler: ((url: string) => string) | null;
    isClientSideNavigation: boolean;
} & {
    urlParsed: import("./utils.js").UrlPublic;
    urlPathname: string;
    url: string;
} & {
    headers: Record<string, string> | null;
} & {
    config: import("../../types/index.js").ConfigResolved;
    _source: import("../../shared/page-configs/getPageConfigUserFriendly.js").Source;
    _sources: import("../../shared/page-configs/getPageConfigUserFriendly.js").Sources;
    _from: import("../../shared/page-configs/getPageConfigUserFriendly.js").From;
    isPageContext: true;
} & {
    _httpRequestId: number;
}>;
