import type { BlockItem } from '../../../../editor-blocks/src/index';
import type { PageDesignEditorReadModel, SurfaceResolutionContext } from '../../../../theme-core/src/site-styles/previewCompiler';
import type { PreviewPageDesignEditorState } from '../preview/PageDesignEditorStateContext';
import { type RuntimeContentDecorationProjection } from './previewProjection';
export type RuntimePreviewSource = Readonly<{
    kind: 'preserve-server-runtime';
}> | Readonly<{
    kind: 'apply-editor-model';
    editorModel: PageDesignEditorReadModel;
    surfaceResolutionContext: SurfaceResolutionContext;
}>;
export declare function applyPageDesignRuntimeFieldsToBlockItems(blockItems: readonly BlockItem[], source: RuntimePreviewSource): BlockItem[];
export declare function applyPageDesignRuntimeFieldsToBlockContent(block: BlockItem, content: Record<string, unknown> | null, source: RuntimePreviewSource): Record<string, unknown> | null;
export declare function buildPageDesignRuntimeFieldsByBlockId(editorModel: PageDesignEditorReadModel, surfaceResolutionContext: SurfaceResolutionContext): RuntimeContentDecorationProjection['fieldsByBlockId'];
export declare function pageDesignRuntimeProjectionFromSource(source: RuntimePreviewSource): RuntimeContentDecorationProjection | null;
export declare function resolveRuntimePreviewSource(input: Readonly<{
    pageDesignState: PreviewPageDesignEditorState;
    surfaceResolutionContext: SurfaceResolutionContext | null;
}>): RuntimePreviewSource;
