import { JSONOp } from 'ot-json1';
import { ConflictResolutionStrategyLabels, IJsonPatch, JsonDiffPatchOptions, JsonDoc } from '../types';
export declare class JsonPatchOT implements IJsonPatch {
    private _keyOfUniqueArray;
    constructor(options?: JsonDiffPatchOptions);
    private _textCreateOp;
    private _textReplaceOp;
    private _textDeleteOp;
    getTextOp(path: (string | number)[], text: string): JSONOp;
    fromDiff(diff: {
        [key: string]: any;
    }): JSONOp;
    apply(doc: JsonDoc, op: JSONOp): JsonDoc;
    patch(docOurs: JsonDoc, diffOurs: {
        [key: string]: any;
    }, docTheirs?: JsonDoc | undefined, diffTheirs?: {
        [key: string]: any;
    } | undefined, strategy?: ConflictResolutionStrategyLabels): JsonDoc;
    resolveConflict(opOurs: JSONOp, opTheirs: JSONOp, strategy: ConflictResolutionStrategyLabels): [JSONOp, JSONOp, JSONOp | undefined];
    transform(opTheirs: JSONOp, opOurs: JSONOp, strategy: ConflictResolutionStrategyLabels): JSONOp;
}
//# sourceMappingURL=json_patch_ot.d.ts.map