export type StatePath = readonly (string | number)[]; export interface StatePatch { readonly op: 'set' | 'delete'; readonly path: StatePath; readonly value?: unknown; readonly previous?: unknown; } export interface DraftSession { readonly draft: State; materialize(value: Value): Value; finish(): { state: State; patches: StatePatch[]; inversePatches: StatePatch[]; }; discard(): void; } export declare function beginDraft(base: State): DraftSession; export declare function applyStatePatches(state: State, patches: readonly StatePatch[]): State; //# sourceMappingURL=patches.d.ts.map