import { CompareExchangeResultClass } from "../../Types"; import { CompareExchangeValue } from "../Operations/CompareExchange/CompareExchangeValue"; import { ILazyClusterTransactionOperations } from "./ILazyClusterTransactionOperations"; export interface IClusterTransactionOperations extends IClusterTransactionOperationsBase { getCompareExchangeValue(key: string): Promise | null>; getCompareExchangeValue(key: string, type: CompareExchangeResultClass): Promise | null>; getCompareExchangeValues(keys: string[]): Promise<{ [key: string]: CompareExchangeValue; }>; getCompareExchangeValues(keys: string[], type: CompareExchangeResultClass): Promise<{ [key: string]: CompareExchangeValue; }>; getCompareExchangeValues(startsWith: string): Promise<{ [key: string]: CompareExchangeValue; }>; getCompareExchangeValues(startsWith: string, type: CompareExchangeResultClass): Promise<{ [key: string]: CompareExchangeValue | null; }>; getCompareExchangeValues(startsWith: string, type: CompareExchangeResultClass, start: number): Promise<{ [key: string]: CompareExchangeValue | null; }>; getCompareExchangeValues(startsWith: string, type: CompareExchangeResultClass, start: number, pageSize: number): Promise<{ [key: string]: CompareExchangeValue | null; }>; lazily: ILazyClusterTransactionOperations; } export interface IClusterTransactionOperationsBase { deleteCompareExchangeValue(key: string, index: number): void; deleteCompareExchangeValue(item: CompareExchangeValue): void; createCompareExchangeValue(key: string, item: T): CompareExchangeValue; }