export { getPageContextFromHooks_isHydration };
export { getPageContextFromHooks_serialized };
export { getPageContextFromServerHooks };
export { getPageContextFromClientHooks };
export { setPageContextInitIsPassedToClient };
export { execHookClient };
export type { PageContextFromServerHooks };
import type { VikeConfigPublicPageLazy, PageFile } from '../../shared/getPageFiles.js';
import type { HookName } from '../../types/Config.js';
import type { PageContextCreated } from './createPageContextClientSide.js';
import type { PageContextBegin } from './renderPageClientSide.js';
import { type PageContextForPublicUsageClient } from './preparePageContextForPublicUsageClient.js';
type PageContextSerialized = {
    pageId: string;
    _hasPageContextFromServer: true;
};
declare function getPageContextFromHooks_serialized(): PageContextSerialized & {
    routeParams: Record<string, string>;
    _hasPageContextFromServer: true;
};
declare function getPageContextFromHooks_isHydration(pageContext: PageContextSerialized & PageContextBegin & VikeConfigPublicPageLazy & {
    _hasPageContextFromServer: true;
} & PageContextForPublicUsageClient): Promise<PageContextSerialized & {
    _isOriginalObject: true;
    isPageContext: true;
} & {
    isClientSide: true;
    isPrerendering: false;
    urlOriginal: string;
    _globalContext: {
        isGlobalContext: true;
        _isOriginalObject: true;
        _virtualFileExports: unknown;
        _pageFilesAll: PageFile[];
        _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
        _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
        _allPageIds: string[];
        _vikeConfigPublicGlobal: {
            config: import("../../types/index.js").ConfigResolved;
            _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
            _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
            _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
        };
        config: import("../../types/index.js").ConfigResolved;
        pages: {
            [k: string]: import("../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
        };
    } & {
        isClientSide: true;
    } & {
        _pageRoutes: import("../../__internal/index.js").PageRoutes;
        _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
    };
    _pageFilesAll: PageFile[];
    _urlHandler: null;
    _urlRewrite: null | string;
    _baseServer: string;
} & {
    urlParsed: import("./utils.js").UrlPublic;
    urlPathname: string;
    url: string;
} & {
    config: import("../../types/index.js").ConfigResolved;
    _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
    _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
    _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
} & {
    isBackwardNavigation: boolean | null;
    isClientSideNavigation: boolean;
    isHydration: boolean;
    previousPageContext: ({
        pageId: string;
    } & VikeConfigPublicPageLazy & {
        pageId: string;
        routeParams: Record<string, string>;
    } & import("../../shared/preparePageContextForPublicUsage.js").PageContextPrepareMinimum & import("../../types/PageContext.js").PageContextInternalClient & Omit<Partial<{
        isPageContext: true;
        Page: import("../../types/Config.js").Config["Page"];
        routeParams: Record<string, string>;
        data: unknown;
        config: import("../../types/Config/PageContextConfig.js").PageContextConfig;
        configEntries: import("../../types/index.js").ConfigEntries;
        exports: Record<string, unknown>;
        exportsAll: import("../../shared/getPageFiles.js").ExportsAll;
        urlOriginal: string;
        headers: Record<string, string> | null;
        headersOriginal?: unknown;
        is404: boolean | null;
        isClientSideNavigation: boolean;
        abortReason?: unknown;
        abortStatusCode?: import("../../shared/route/abort.js").AbortStatusCode;
        errorWhileRendering?: unknown;
        pageId: string | null;
        from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
        source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
        sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
        url: string;
        pageExports: Record<string, unknown>;
        isBaseMissing?: true;
    }> & Pick<{
        isPageContext: true;
        Page: import("../../types/Config.js").Config["Page"];
        routeParams: Record<string, string>;
        data: unknown;
        config: import("../../types/Config/PageContextConfig.js").PageContextConfig;
        configEntries: import("../../types/index.js").ConfigEntries;
        exports: Record<string, unknown>;
        exportsAll: import("../../shared/getPageFiles.js").ExportsAll;
        urlOriginal: string;
        headers: Record<string, string> | null;
        headersOriginal?: unknown;
        is404: boolean | null;
        isClientSideNavigation: boolean;
        abortReason?: unknown;
        abortStatusCode?: import("../../shared/route/abort.js").AbortStatusCode;
        errorWhileRendering?: unknown;
        pageId: string | null;
        from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
        source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
        sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
        url: string;
        pageExports: Record<string, unknown>;
        isBaseMissing?: true;
    }, "exports" | "pageId" | "pageExports" | "Page" | "data" | "config" | "routeParams" | "configEntries" | "exportsAll" | "abortReason" | "from" | "source" | "sources"> & {
        isClientSide: true;
        isPrerendering: false;
    } & {
        isHydration: boolean;
        isBackwardNavigation: boolean | null;
        previousPageContext: import("../../types/PageContext.js").PageContextClient<unknown> | null;
        globalContext: import("./globalContext.js").GlobalContextClient;
    } & {
        urlOriginal: string;
    } & {
        urlParsed: import("./utils.js").UrlPublic;
        urlPathname: string;
        url: string;
    }, ("globalContext" | "Page" | "data") | "previousPageContext"> & {
        previousPageContext: {
            pageId: string;
        } | null;
    } & {
        urlOriginal: string;
    }) | null;
} & VikeConfigPublicPageLazy & {
    _hasPageContextFromServer: true;
} & import("../../shared/preparePageContextForPublicUsage.js").PageContextPrepareMinimum & Omit<Partial<{
    isPageContext: true;
    Page: import("../../types/Config.js").Config["Page"];
    routeParams: Record<string, string>;
    data: unknown;
    config: import("../../types/Config/PageContextConfig.js").PageContextConfig;
    configEntries: import("../../types/index.js").ConfigEntries;
    exports: Record<string, unknown>;
    exportsAll: import("../../shared/getPageFiles.js").ExportsAll;
    urlOriginal: string;
    headers: Record<string, string> | null;
    headersOriginal?: unknown;
    is404: boolean | null;
    isClientSideNavigation: boolean;
    abortReason?: unknown;
    abortStatusCode?: import("../../shared/route/abort.js").AbortStatusCode;
    errorWhileRendering?: unknown;
    pageId: string | null;
    from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
    source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
    sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
    url: string;
    pageExports: Record<string, unknown>;
    isBaseMissing?: true;
}> & Pick<{
    isPageContext: true;
    Page: import("../../types/Config.js").Config["Page"];
    routeParams: Record<string, string>;
    data: unknown;
    config: import("../../types/Config/PageContextConfig.js").PageContextConfig;
    configEntries: import("../../types/index.js").ConfigEntries;
    exports: Record<string, unknown>;
    exportsAll: import("../../shared/getPageFiles.js").ExportsAll;
    urlOriginal: string;
    headers: Record<string, string> | null;
    headersOriginal?: unknown;
    is404: boolean | null;
    isClientSideNavigation: boolean;
    abortReason?: unknown;
    abortStatusCode?: import("../../shared/route/abort.js").AbortStatusCode;
    errorWhileRendering?: unknown;
    pageId: string | null;
    from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
    source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
    sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
    url: string;
    pageExports: Record<string, unknown>;
    isBaseMissing?: true;
}, "exports" | "pageId" | "pageExports" | "Page" | "data" | "config" | "routeParams" | "configEntries" | "exportsAll" | "abortReason" | "from" | "source" | "sources"> & {
    isClientSide: true;
    isPrerendering: false;
} & {
    isHydration: boolean;
    isBackwardNavigation: boolean | null;
    previousPageContext: import("../../types/PageContext.js").PageContextClient<unknown> | null;
    globalContext: import("./globalContext.js").GlobalContextClient;
} & {
    urlOriginal: string;
} & {
    urlParsed: import("./utils.js").UrlPublic;
    urlPathname: string;
    url: string;
}, ("globalContext" | "Page" | "data") | "previousPageContext"> & {
    previousPageContext: {
        pageId: string;
    } | null;
} & {
    urlOriginal: string;
}>;
type PageContextFromServerHooks = {
    _hasPageContextFromServer: boolean;
};
declare function getPageContextFromServerHooks(pageContext: {
    pageId: string;
} & PageContextCreated, isErrorPage: boolean): Promise<{
    is404ServerSideRouted: true;
} | {
    is404ServerSideRouted?: undefined;
    pageContextFromServerHooks: PageContextFromServerHooks;
}>;
declare function getPageContextFromClientHooks(pageContext: {
    pageId: string;
    _hasPageContextFromServer: boolean;
} & PageContextBegin & VikeConfigPublicPageLazy & PageContextForPublicUsageClient, isErrorPage: boolean): Promise<{
    pageId: string;
    _hasPageContextFromServer: boolean;
} & {
    _isOriginalObject: true;
    isPageContext: true;
} & {
    isClientSide: true;
    isPrerendering: false;
    urlOriginal: string;
    _globalContext: {
        isGlobalContext: true;
        _isOriginalObject: true;
        _virtualFileExports: unknown;
        _pageFilesAll: PageFile[];
        _pageConfigs: import("../../types/PageConfig.js").PageConfigRuntime[];
        _pageConfigGlobal: import("../../types/PageConfig.js").PageConfigGlobalRuntime;
        _allPageIds: string[];
        _vikeConfigPublicGlobal: {
            config: import("../../types/index.js").ConfigResolved;
            _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
            _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
            _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
        };
        config: import("../../types/index.js").ConfigResolved;
        pages: {
            [k: string]: import("../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
        };
    } & {
        isClientSide: true;
    } & {
        _pageRoutes: import("../../__internal/index.js").PageRoutes;
        _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
    };
    _pageFilesAll: PageFile[];
    _urlHandler: null;
    _urlRewrite: null | string;
    _baseServer: string;
} & {
    urlParsed: import("./utils.js").UrlPublic;
    urlPathname: string;
    url: string;
} & {
    config: import("../../types/index.js").ConfigResolved;
    _source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
    _sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
    _from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
} & {
    isBackwardNavigation: boolean | null;
    isClientSideNavigation: boolean;
    isHydration: boolean;
    previousPageContext: ({
        pageId: string;
    } & VikeConfigPublicPageLazy & {
        pageId: string;
        routeParams: Record<string, string>;
    } & import("../../shared/preparePageContextForPublicUsage.js").PageContextPrepareMinimum & import("../../types/PageContext.js").PageContextInternalClient & Omit<Partial<{
        isPageContext: true;
        Page: import("../../types/Config.js").Config["Page"];
        routeParams: Record<string, string>;
        data: unknown;
        config: import("../../types/Config/PageContextConfig.js").PageContextConfig;
        configEntries: import("../../types/index.js").ConfigEntries;
        exports: Record<string, unknown>;
        exportsAll: import("../../shared/getPageFiles.js").ExportsAll;
        urlOriginal: string;
        headers: Record<string, string> | null;
        headersOriginal?: unknown;
        is404: boolean | null;
        isClientSideNavigation: boolean;
        abortReason?: unknown;
        abortStatusCode?: import("../../shared/route/abort.js").AbortStatusCode;
        errorWhileRendering?: unknown;
        pageId: string | null;
        from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
        source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
        sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
        url: string;
        pageExports: Record<string, unknown>;
        isBaseMissing?: true;
    }> & Pick<{
        isPageContext: true;
        Page: import("../../types/Config.js").Config["Page"];
        routeParams: Record<string, string>;
        data: unknown;
        config: import("../../types/Config/PageContextConfig.js").PageContextConfig;
        configEntries: import("../../types/index.js").ConfigEntries;
        exports: Record<string, unknown>;
        exportsAll: import("../../shared/getPageFiles.js").ExportsAll;
        urlOriginal: string;
        headers: Record<string, string> | null;
        headersOriginal?: unknown;
        is404: boolean | null;
        isClientSideNavigation: boolean;
        abortReason?: unknown;
        abortStatusCode?: import("../../shared/route/abort.js").AbortStatusCode;
        errorWhileRendering?: unknown;
        pageId: string | null;
        from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
        source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
        sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
        url: string;
        pageExports: Record<string, unknown>;
        isBaseMissing?: true;
    }, "exports" | "pageId" | "pageExports" | "Page" | "data" | "config" | "routeParams" | "configEntries" | "exportsAll" | "abortReason" | "from" | "source" | "sources"> & {
        isClientSide: true;
        isPrerendering: false;
    } & {
        isHydration: boolean;
        isBackwardNavigation: boolean | null;
        previousPageContext: import("../../types/PageContext.js").PageContextClient<unknown> | null;
        globalContext: import("./globalContext.js").GlobalContextClient;
    } & {
        urlOriginal: string;
    } & {
        urlParsed: import("./utils.js").UrlPublic;
        urlPathname: string;
        url: string;
    }, ("globalContext" | "Page" | "data") | "previousPageContext"> & {
        previousPageContext: {
            pageId: string;
        } | null;
    } & {
        urlOriginal: string;
    }) | null;
} & VikeConfigPublicPageLazy & import("../../shared/preparePageContextForPublicUsage.js").PageContextPrepareMinimum & Omit<Partial<{
    isPageContext: true;
    Page: import("../../types/Config.js").Config["Page"];
    routeParams: Record<string, string>;
    data: unknown;
    config: import("../../types/Config/PageContextConfig.js").PageContextConfig;
    configEntries: import("../../types/index.js").ConfigEntries;
    exports: Record<string, unknown>;
    exportsAll: import("../../shared/getPageFiles.js").ExportsAll;
    urlOriginal: string;
    headers: Record<string, string> | null;
    headersOriginal?: unknown;
    is404: boolean | null;
    isClientSideNavigation: boolean;
    abortReason?: unknown;
    abortStatusCode?: import("../../shared/route/abort.js").AbortStatusCode;
    errorWhileRendering?: unknown;
    pageId: string | null;
    from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
    source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
    sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
    url: string;
    pageExports: Record<string, unknown>;
    isBaseMissing?: true;
}> & Pick<{
    isPageContext: true;
    Page: import("../../types/Config.js").Config["Page"];
    routeParams: Record<string, string>;
    data: unknown;
    config: import("../../types/Config/PageContextConfig.js").PageContextConfig;
    configEntries: import("../../types/index.js").ConfigEntries;
    exports: Record<string, unknown>;
    exportsAll: import("../../shared/getPageFiles.js").ExportsAll;
    urlOriginal: string;
    headers: Record<string, string> | null;
    headersOriginal?: unknown;
    is404: boolean | null;
    isClientSideNavigation: boolean;
    abortReason?: unknown;
    abortStatusCode?: import("../../shared/route/abort.js").AbortStatusCode;
    errorWhileRendering?: unknown;
    pageId: string | null;
    from: import("../../shared/page-configs/resolveVikeConfigPublic.js").From;
    source: import("../../shared/page-configs/resolveVikeConfigPublic.js").Source;
    sources: import("../../shared/page-configs/resolveVikeConfigPublic.js").Sources;
    url: string;
    pageExports: Record<string, unknown>;
    isBaseMissing?: true;
}, "exports" | "pageId" | "pageExports" | "Page" | "data" | "config" | "routeParams" | "configEntries" | "exportsAll" | "abortReason" | "from" | "source" | "sources"> & {
    isClientSide: true;
    isPrerendering: false;
} & {
    isHydration: boolean;
    isBackwardNavigation: boolean | null;
    previousPageContext: import("../../types/PageContext.js").PageContextClient<unknown> | null;
    globalContext: import("./globalContext.js").GlobalContextClient;
} & {
    urlOriginal: string;
} & {
    urlParsed: import("./utils.js").UrlPublic;
    urlPathname: string;
    url: string;
}, ("globalContext" | "Page" | "data") | "previousPageContext"> & {
    previousPageContext: {
        pageId: string;
    } | null;
} & {
    urlOriginal: string;
}>;
type PageContextExecHookClient = VikeConfigPublicPageLazy & PageContextForPublicUsageClient;
declare function execHookClient(hookName: HookName, pageContext: PageContextExecHookClient): Promise<(import("../../shared/hooks/getHook.js").HookLoc & {
    hookFn: (arg: import("../../shared/preparePageContextForPublicUsage.js").PageContextPrepareMinimum | import("../../shared/prepareGlobalContextForPublicUsage.js").GlobalContextPrepareMinimum) => unknown;
    hookTimeout: import("../../shared/hooks/getHook.js").HookTimeout;
} & {
    hookReturn: unknown;
})[]>;
declare function setPageContextInitIsPassedToClient(pageContext: Record<string, unknown>): void;
