import type { BlockManifest } from '@riverbankcms/blocks';
import { type ManifestSchemaOptions, type ManifestValidationResult } from '@riverbankcms/block-form/client';
import type { z } from 'zod';
export type ManifestFieldIssue = {
    path: string;
    segments: string[];
    message: string;
    code: z.ZodIssue['code'];
};
export type BlockContentPayloadResult<TValues extends Record<string, unknown> = Record<string, unknown>> = {
    data: TValues | null;
    issues: ManifestFieldIssue[];
};
export type BuildBlockContentPayloadOptions = {
    manifestValidation?: ManifestValidationResult;
    manifestOptions?: ManifestSchemaOptions;
};
export declare function buildBlockContentPayload<TValues extends Record<string, unknown>>(manifest: BlockManifest, values: TValues, options?: BuildBlockContentPayloadOptions): BlockContentPayloadResult<TValues>;
export declare function formatManifestIssues(issues: readonly z.ZodIssue[]): ManifestFieldIssue[];
