export { runPrerenderFromAPI };
export { runPrerenderFromCLIPrerenderCommand };
export { runPrerenderFromAutoRun };
export { runPrerender_forceExit };
export type { PrerenderOptions };
export type { PrerenderContextPublic };
import type { PageFile } from '../../shared/getPageFiles.js';
import { type GlobalContextServerInternal, type GlobalContextServer } from '../runtime/globalContext.js';
import type { InlineConfig, ResolvedConfig } from 'vite';
import type { APIOptions } from '../api/types.js';
type ProvidedByHook = null | {
    hookFilePath: string;
    hookName: 'onBeforePrerenderStart' | 'prerender';
};
type ProvidedByHookTransformer = null | {
    hookFilePath: string;
    hookName: 'onPrerenderStart' | 'onBeforePrerender';
};
type PageContextPrerendered = {
    urlOriginal: string;
    _providedByHook?: ProvidedByHook;
    pageId: string;
};
type PrerenderedPageContexts = Record<string, PageContextPrerendered>;
type PrerenderContext = {
    pageContexts: PageContext[];
    output: Output;
    _pageContextInit: Record<string, unknown> | null;
    _noExtraDir: boolean | null;
    _prerenderedPageContexts: PrerenderedPageContexts;
};
type Output<PageContext = PageContextPrerendered> = {
    filePath: string;
    fileType: FileType;
    fileContent: string;
    pageContext: PageContext;
}[];
type FileType = 'HTML' | 'JSON';
type PageContext = Awaited<ReturnType<typeof createPageContextPrerendering>> & {
    _urlOriginalBeforeHook?: string;
};
type PrerenderOptions = APIOptions & {
    /** Initial `pageContext` values */
    pageContextInit?: Record<string, unknown>;
    /** @experimental Don't use without having talked to a vike maintainer. */
    onPagePrerender?: Function;
    /** @deprecated Define `prerender({ viteConfig: { root }})` instead. */
    root?: string;
    /** @deprecated Define `prerender({ viteConfig: { configFile }})` instead. */
    configFile?: string;
    /** @deprecated Define `partial` in vite.config.js instead, see https://vike.dev/prerender */
    partial?: boolean;
    /** @deprecated Define `noExtraDir` in vite.config.js instead, see https://vike.dev/prerender */
    noExtraDir?: boolean;
    /** @deprecated Define `parallel` in vite.config.js instead, see https://vike.dev/prerender */
    parallel?: number;
    /** @deprecated */
    outDir?: string;
    /** @deprecated */
    base?: string;
};
declare function runPrerenderFromAPI(options?: PrerenderOptions): Promise<{
    viteConfig: ResolvedConfig;
}>;
declare function runPrerenderFromCLIPrerenderCommand(): Promise<void>;
declare function runPrerenderFromAutoRun(viteConfig: InlineConfig | undefined): Promise<{
    forceExit: boolean;
}>;
declare function createPageContextPrerendering(urlOriginal: string, prerenderContext: PrerenderContext, globalContext: GlobalContextServerInternal, globalContext_public: GlobalContextServer, is404: boolean, pageId: string | undefined, providedByHook: ProvidedByHook): Promise<((({
    isClientSide: boolean;
    isPrerendering: boolean;
} & Pick<import("../../shared/types.js").PageContextBuiltInServerInternal, "urlOriginal" | "headersOriginal"> & {
    url?: string;
    headers?: Record<string, string>;
} & {
    globalContext: GlobalContextServer;
    _globalContext: {
        isGlobalContext: true;
        _virtualFileExports: unknown;
        _pageFilesAll: PageFile[];
        _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
        _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: 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: PageFile[];
        _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
        _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: 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: PageFile[];
        _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
        _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: PageFile[];
        _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
        _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: PageFile[];
    _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
    _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: import("../runtime/renderPage.js").PageContextInit;
    _urlRewrite: null;
    _urlHandler: ((url: string) => string) | null;
    isClientSideNavigation: boolean;
} & {
    urlParsed: import("../shared/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;
} & {
    _urlHandler: null;
    _httpRequestId: null;
    _urlRewrite: null;
    _noExtraDir: boolean | null;
    _prerenderContext: PrerenderContext;
    _providedByHook: ProvidedByHook;
    _urlOriginalModifiedByHook: ProvidedByHookTransformer;
    is404: boolean;
} & import("../../shared/route/index.js").PageContextFromRoute & Record<"pageId", string>) | ({
    isClientSide: boolean;
    isPrerendering: boolean;
} & Pick<import("../../shared/types.js").PageContextBuiltInServerInternal, "urlOriginal" | "headersOriginal"> & {
    url?: string;
    headers?: Record<string, string>;
} & {
    globalContext: GlobalContextServer;
    _globalContext: {
        isGlobalContext: true;
        _virtualFileExports: unknown;
        _pageFilesAll: PageFile[];
        _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
        _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: 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: PageFile[];
        _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
        _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: 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: PageFile[];
        _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
        _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: PageFile[];
        _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
        _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: PageFile[];
    _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
    _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: import("../runtime/renderPage.js").PageContextInit;
    _urlRewrite: null;
    _urlHandler: ((url: string) => string) | null;
    isClientSideNavigation: boolean;
} & {
    urlParsed: import("../shared/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;
} & {
    _urlHandler: null;
    _httpRequestId: null;
    _urlRewrite: null;
    _noExtraDir: boolean | null;
    _prerenderContext: PrerenderContext;
    _providedByHook: ProvidedByHook;
    _urlOriginalModifiedByHook: ProvidedByHookTransformer;
    is404: boolean;
} & {
    pageId: string;
    _debugRouteMatches: never[];
    routeParams: {};
})) & import("../../shared/getPageFiles.js").PageConfigUserFriendlyOld & {
    Page: unknown;
    _isHtmlOnly: boolean;
    _passToClient: string[];
    _pageFilePathsLoaded: string[];
} & {
    __getPageAssets: () => Promise<import("../runtime/renderPage/getPageAssets.js").PageAsset[]>;
}) & {
    _usesClientRouter: boolean;
}>;
declare function runPrerender_forceExit(): void;
type PrerenderContextPublic = Pick<PrerenderContext, 'output' | 'pageContexts'>;
