/**
 * Pre-publish validation for blocks.
 *
 * Validates all block content using strict mode validation before allowing publish.
 * This catches empty required fields and other validation errors that were allowed
 * during editing (draft mode) but must be fixed before publishing.
 */
import type { EditorBlockId } from '@riverbankcms/core';
import type { EditorUiStoreInstance } from '../ui/editorUiStore';
/**
 * Represents a validation error for a specific block field.
 */
export type BlockValidationError = {
    /** The block's unique ID */
    blockId: EditorBlockId;
    /** The block kind (e.g., "block.hero", "custom.my-block") */
    blockKind: string;
    /** The path to the invalid field (e.g., "title", "items.0.label") */
    fieldPath: string;
    /** Human-readable label for the field */
    fieldLabel: string;
    /** The validation error message */
    message: string;
};
/**
 * Validates all blocks in the editor store using strict validation.
 *
 * This should be called before publish to ensure all required fields are filled
 * and content meets validation requirements.
 *
 * @param uiStore - The editor UI store instance
 * @returns Array of validation errors (empty if all blocks are valid)
 */
export declare function validateAllBlocks(uiStore: EditorUiStoreInstance): BlockValidationError[];
