/*! * Copyright (c) Microsoft Corporation and contributors. All rights reserved. * Licensed under the MIT License. */ import type { ISegment, Marker } from "./mergeTreeNodes.js"; import { type IMergeTreeAnnotateMsg, type IMergeTreeDeltaOp, type IMergeTreeGroupMsg, type IMergeTreeInsertMsg, type IMergeTreeObliterateMsg, type IMergeTreeRemoveMsg, type AdjustParams, type IMergeTreeAnnotateAdjustMsg, type IMergeTreeObliterateSidedMsg } from "./ops.js"; import type { PropertySet, MapLike } from "./properties.js"; import { type SequencePlace } from "./sequencePlace.js"; /** * Creates the op for annotating the markers with the provided properties * @param marker - The marker to annotate * @param props - The properties to annotate the marker with * @returns The annotate op * * @internal */ export declare function createAnnotateMarkerOp(marker: Marker, props: PropertySet): IMergeTreeAnnotateMsg | undefined; /** * Creates the op for annotating the range with the provided properties * @param start - The inclusive start position of the range to annotate * @param end - The exclusive end position of the range to annotate * @param props - The properties to annotate the range with * @returns The annotate op * * @internal */ export declare function createAnnotateRangeOp(start: number, end: number, props: PropertySet): IMergeTreeAnnotateMsg; /** * Creates the op for annotating the range with the provided properties * @param start - The inclusive start position of the range to annotate * @param end - The exclusive end position of the range to annotate * @param props - The properties to annotate the range with * @returns The annotate op * * @internal */ export declare function createAdjustRangeOp(start: number, end: number, adjust: MapLike): IMergeTreeAnnotateAdjustMsg; /** * Creates the op to remove a range * * @param start - The inclusive start of the range to remove * @param end - The exclusive end of the range to remove * * @internal */ export declare function createRemoveRangeOp(start: number, end: number): IMergeTreeRemoveMsg; /** * Creates the op to obliterate a range * * @param start - The inclusive start of the range to obliterate * @param end - The exclusive end of the range to obliterate * * @internal */ export declare function createObliterateRangeOp(start: number, end: number): IMergeTreeObliterateMsg; /** * Creates the op to obliterate a range * * @param start - The start of the range to obliterate. * If a number is provided, the range will start before that index. * @param end - The end of the range to obliterate. * If a number is provided, the range will end after that index -1. * This preserves the previous behavior of not expanding obliteration ranges at the endpoints * for uses which predate the availability of endpoint expansion. * * @internal */ export declare function createObliterateRangeOpSided(start: SequencePlace, end: SequencePlace): IMergeTreeObliterateSidedMsg; /** * Creates an op for inserting a segment at the specified position. * * @param pos - The position to insert the segment at * @param segment - The segment to insert * * @internal */ export declare function createInsertSegmentOp(pos: number, segment: ISegment): IMergeTreeInsertMsg; /** * Creates the op for inserting a segment from its JSON representation at * the specified position. * * @internal */ export declare function createInsertOp(pos: number, segSpec: unknown): IMergeTreeInsertMsg; /** * Creates a group op from the provided ops. * * @param ops - The ops to group * * @internal */ export declare function createGroupOp(...ops: IMergeTreeDeltaOp[]): IMergeTreeGroupMsg; //# sourceMappingURL=opBuilder.d.ts.map