import type { ProposedOperation } from '@pantheon-systems/css-client'; interface PreviewFieldConfig { label?: string; } interface PreviewComponentConfig { label?: string; fields?: Record; } /** The parts of the editor's config and data a proposal preview reads. */ export interface ProposalPreviewSource { data?: unknown; config?: { components?: Record; }; } /** How one proposed operation reads to a person: which block and field, and what changes. */ export interface ProposalChange { kind: ProposedOperation['op']; /** The block the change lands in, named the way the outline names it. */ block?: string; /** The field being changed, named the way the editor's form names it. */ field?: string; before?: string; after?: string; } /** A value as a person would read it in the preview; nothing for a value that has no short reading. */ export declare function readValue(value: unknown, source?: ProposalPreviewSource): string | undefined; /** Reads one operation against the page as it stands, or against the path alone when the page is not to hand. */ export declare function describeChange(op: ProposedOperation, source?: ProposalPreviewSource): ProposalChange; export declare function describeChanges(operations: readonly ProposedOperation[], source?: ProposalPreviewSource): ProposalChange[]; export {};