/*! * Copyright (c) Microsoft Corporation and contributors. All rights reserved. * Licensed under the MIT License. */ import type { IFluidHandle, ITelemetryBaseLogger } from "@fluidframework/core-interfaces"; import type { IFluidDataStoreRuntime, IChannelStorageService } from "@fluidframework/datastore-definitions/internal"; import type { ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal"; import { BaseSegment, Client, type IJSONSegment, type ISegment, type IMergeTreeInsertMsg, type IMergeTreeRemoveMsg } from "@fluidframework/merge-tree/internal"; import type { ISummaryTreeWithStats } from "@fluidframework/runtime-definitions/internal"; import type { IFluidSerializer } from "@fluidframework/shared-object-base/internal"; import { HandleCache } from "./handlecache.js"; import { Handle } from "./handletable.js"; import type { VectorUndoProvider } from "./undoprovider.js"; export declare class PermutationSegment extends BaseSegment { static readonly typeString: string; private _start; static fromJSONObject(spec: IJSONSegment): PermutationSegment; readonly type: string; constructor(length: number, start?: Handle); get start(): Handle; set start(value: Handle); reset(): void; toJSONObject(): number[]; clone(start?: number, end?: number): PermutationSegment; canAppend(segment: ISegment): boolean; protected createSplitSegmentAt(pos: number): PermutationSegment; toString(): string; } export declare class PermutationVector extends Client { private readonly deltaCallback; private readonly handlesRecycledCallback; private handleTable; readonly handleCache: HandleCache; undo: VectorUndoProvider | undefined; constructor(path: string, logger: ITelemetryBaseLogger, runtime: IFluidDataStoreRuntime, deltaCallback: (position: number, numRemoved: number, numInserted: number) => void, handlesRecycledCallback: (handles: Handle[]) => void, getMinInFlightRefSeq: () => number | undefined); insert(start: number, length: number): IMergeTreeInsertMsg | undefined; remove(start: number, length: number): IMergeTreeRemoveMsg; getMaybeHandle(pos: number): Handle; getAllocatedHandle(pos: number): Handle; adjustPosition(posToAdjust: number, op: ISequencedDocumentMessage): { pos: number | undefined; handle: Handle; }; handleToPosition(handle: Handle, localSeq?: number): number; summarize(runtime: IFluidDataStoreRuntime, handle: IFluidHandle, serializer: IFluidSerializer): ISummaryTreeWithStats; load(runtime: IFluidDataStoreRuntime, storage: IChannelStorageService, serializer: IFluidSerializer): Promise<{ catchupOpsP: Promise; }>; private readonly onDelta; private readonly onMaintenance; toString(): string; } export declare function reinsertSegmentIntoVector(vector: PermutationVector, pos: number, spec: IJSONSegment): { op: IMergeTreeInsertMsg | undefined; inserted: PermutationSegment; }; //# sourceMappingURL=permutationvector.d.ts.map