/*! * Copyright (c) Microsoft Corporation and contributors. All rights reserved. * Licensed under the MIT License. */ import { IClientSequenceNumber } from "@fluidframework/server-services-core"; export declare class ClientSequenceNumberManager { private readonly clientNodeMap; private readonly clientSeqNumbers; has(clientId: string): boolean; get(clientId: string): IClientSequenceNumber | undefined; count(): number; peek(): IClientSequenceNumber | undefined; cloneValues(): IClientSequenceNumber[]; /** * Begins tracking or updates an already tracked client. * @param clientId - The client identifier * @param clientSequenceNumber - The sequence number generated by client * @param referenceSequenceNumber - The sequence number the client is at * @param timestamp - The time of the operation * @param canEvict - Flag indicating whether or not we can evict the client (branch clients cannot be evicted) * @param scopes - scope of the client * @param nack - Flag indicating whether we have nacked this client * @param serverMetadata - Optional server provided metadata to associate with the client * Returns false if the same client has been added earlier. */ upsertClient(clientId: string, clientSequenceNumber: number, referenceSequenceNumber: number, timestamp: number, canEvict: boolean, scopes?: string[], nack?: boolean, serverMetadata?: any): boolean; /** * Removes the provided client from the list of tracked clients. * Returns false if the client has been removed earlier. */ removeClient(clientId: string): boolean; /** * Retrieves the minimum sequence number. */ getMinimumSequenceNumber(): number; } //# sourceMappingURL=clientSeqManager.d.ts.map