import { ReactNode } from 'react';
import { DotCMSBasicContentlet, DotCMSPageAsset, DotCMSPageRendererMode } from '@dotcms/types';
/**
 * @internal
 *
 * Props for the DotCMSPageContext
 * @interface DotCMSPageContextProps
 * @property {DotCMSPageAsset} pageAsset - The DotCMS page asset
 * @property {RendererMode} mode - The renderer mode
 * @property {Record<string, React.ComponentType<DotCMSContentlet>>} userComponents - The user components
 * @property {Record<string, ReactNode>} [slots] - Pre-rendered server component nodes keyed by contentlet identifier
 */
export interface DotCMSPageContextProps {
    pageAsset: DotCMSPageAsset;
    mode: DotCMSPageRendererMode;
    userComponents: Record<string, React.ComponentType<DotCMSBasicContentlet>>;
    slots?: Record<string, ReactNode>;
}
/**
 * The `PageContext` is a React context that provides access to the DotCMS page context.
 *
 * @category Contexts
 */
export declare const DotCMSPageContext: import("react").Context<DotCMSPageContextProps>;
