import type { JsonObject, JsonValue } from '../contracts/common'; import { type RecordEditorSubmissionSnapshot, type RecordEditorDraft, type RecordEditorDraftOperation } from '../contracts/record-editor-draft'; export declare const recordEditorValuesEqual: (left: JsonValue, right: JsonValue) => boolean; export declare const recordEditorPathKey: (path: (string | { itemId: string; idKey: string; })[]) => string; export declare const createRecordEditorDraft: (revision: string, value: JsonObject) => RecordEditorDraft; export declare const recordEditorDraftIsDirty: (draft: RecordEditorDraft) => boolean; export declare const recordEditorArrayItems: (value: JsonValue | undefined, idKey: string) => JsonObject[]; export declare const readRecordEditorPath: (value: JsonValue, path: (string | { itemId: string; idKey: string; })[]) => JsonValue | undefined; export declare const applyRecordEditorDraft: (draft: RecordEditorDraft, input: RecordEditorDraftOperation) => RecordEditorDraft; /** Deliberately select only the non-sensitive draft envelope, excluding secretChanges. */ export declare const captureRecordEditorSubmission: (payload: unknown) => RecordEditorSubmissionSnapshot | undefined; export declare const projectRecordEditorValidation: (details: unknown, submission: RecordEditorSubmissionSnapshot | undefined) => { revision: string; value: Record; errors: { path: (string | { itemId: string; idKey: string; })[]; code: string; }[]; } | undefined; //# sourceMappingURL=record-editor-draft.d.ts.map