export declare function applyPatch(left: any, patch: RawPatch): any declare function applyPatch_2(left: Value, patch: RawPatch, startMeta: T): Value declare type ArrayContent = { type: 'array' elements: Value[] metas: T[] } declare type Content = ObjectContent | ArrayContent | StringContent declare function getType(value: Value): Type declare namespace incremental { export { wrap, unwrap, getType, rebaseValue, applyPatch_2 as applyPatch, Value, Type, Content, ObjectContent, ArrayContent, StringContent, StringPart, } } export {incremental} declare type ObjectContent = { type: 'object' fields: { [key: string]: Value } } export declare type RawOperation = any export declare type RawPatch = RawOperation[] declare function rebaseValue(left: Value, right: Value): Value declare type StringContent = { type: 'string' parts: StringPart[] } declare type StringPart = { value: string utf8size: number uses: StringContent[] startMeta: T endMeta: T } declare type Type = 'array' | 'string' | 'object' | 'number' | 'boolean' | 'null' declare function unwrap(value: Value): unknown declare type Value = { data?: unknown content?: Content startMeta: T endMeta: T } declare function wrap(data: unknown, meta: T): Value export {}