import { CacheDecreaseTtl, CacheDelete, CacheDictionaryFetch, CacheDictionaryGetField, CacheDictionaryGetFields, CacheDictionaryIncrement, CacheDictionaryLength, CacheDictionaryRemoveField, CacheDictionaryRemoveFields, CacheDictionarySetField, CacheDictionarySetFields, CacheGet, CacheGetBatch, CacheGetWithHash, CacheIncreaseTtl, CacheIncrement, CacheItemGetTtl, CacheItemGetType, CacheKeyExists, CacheKeysExist, CacheListConcatenateBack, CacheListConcatenateFront, CacheListFetch, CacheListLength, CacheListPopBack, CacheListPopFront, CacheListPushBack, CacheListPushFront, CacheListRemoveValue, CacheListRetain, CacheSet, CacheSetWithHash, CacheSetAddElements, CacheSetBatch, CacheSetContainsElement, CacheSetContainsElements, CacheSetFetch, CacheSetIfAbsent, CacheSetIfAbsentOrEqual, CacheSetIfEqual, CacheSetIfNotEqual, CacheSetIfNotExists, CacheSetIfPresent, CacheSetIfPresentAndNotEqual, CacheSetIfPresentAndHashEqual, CacheSetIfPresentAndHashNotEqual, CacheSetIfAbsentOrHashEqual, CacheSetIfAbsentOrHashNotEqual, CacheSetRemoveElements, CacheSetSample, CacheSortedSetFetch, CacheSortedSetGetRank, CacheSortedSetGetScore, CacheSortedSetGetScores, CacheSortedSetIncrementScore, CacheSortedSetLength, CacheSortedSetLengthByScore, CacheSortedSetPutElement, CacheSortedSetPutElements, CacheSortedSetRemoveElement, CacheSortedSetRemoveElements, CacheSortedSetUnionStore, CacheUpdateTtl, CollectionTtl, SortedSetOrder } from '..';
import { Semaphore } from '@gomomento/sdk-core/dist/src/internal/utils';
import { IDataClient } from '@gomomento/sdk-core/dist/src/internal/clients';
import { CacheClientAllProps } from './cache-client-all-props';
import { GetBatchCallOptions, GetCallOptions, SetBatchCallOptions, SetBatchItem, SetCallOptions, SetIfAbsentCallOptions, SortedSetSource, SortedSetAggregate, GetWithHashCallOptions, SetWithHashCallOptions } from '@gomomento/sdk-core/dist/src/utils';
import { CacheSetLength, CacheSetPop } from '@gomomento/sdk-core';
export declare const CONNECTION_ID_KEY: unique symbol;
export declare class CacheDataClient implements IDataClient {
    private readonly clientWrapper;
    private readonly textEncoder;
    private readonly configuration;
    private readonly credentialProvider;
    private readonly defaultTtlSeconds;
    private readonly requestTimeoutMs;
    private static readonly DEFAULT_REQUEST_TIMEOUT_MS;
    private readonly logger;
    private readonly cacheServiceErrorMapper;
    private readonly interceptors;
    private readonly streamingInterceptors;
    private readonly compressionDetails?;
    private readonly requestConcurrencySemaphore;
    /**
     * @param {CacheClientProps} props
     * @param dataClientID
     * @param semaphore
     */
    constructor(props: CacheClientAllProps, dataClientID: string, semaphore: Semaphore | undefined);
    close(): void;
    connect(timeoutSeconds?: number): Promise<void>;
    private connectionStateToString;
    private connectWithinDeadline;
    getEndpoint(): string;
    private validateRequestTimeout;
    private convertECacheResult;
    private convertItemTypeResult;
    private convertAggregateResult;
    private convertSortedSetSource;
    private rateLimited;
    /**
     * Returns the TTL in milliseconds for a collection.
     * If the provided TTL is not set, it defaults to the instance's default TTL.
     * @param ttl - The CollectionTttl object containing the TTL value.
     * @returns The TTL in milliseconds.
     */
    private collectionTtlOrDefaultMilliseconds;
    /**
     * Returns the TTL in milliseconds.
     * If the provided TTL is not set, it defaults to the instance's default TTL.
     * @param ttl
     * @returns The TTL in milliseconds.
     */
    private ttlOrDefaultMilliseconds;
    set(cacheName: string, key: string | Uint8Array, value: string | Uint8Array, options?: SetCallOptions): Promise<CacheSet.Response>;
    private sendSet;
    setWithHash(cacheName: string, key: string | Uint8Array, value: string | Uint8Array, options?: SetWithHashCallOptions): Promise<CacheSetWithHash.Response>;
    private sendSetWithHash;
    setFetch(cacheName: string, setName: string, abortSignal?: AbortSignal): Promise<CacheSetFetch.Response>;
    private sendSetFetch;
    setAddElements(cacheName: string, setName: string, elements: string[] | Uint8Array[], ttl?: CollectionTtl, abortSignal?: AbortSignal): Promise<CacheSetAddElements.Response>;
    private sendSetAddElements;
    setContainsElement(cacheName: string, setName: string, element: string | Uint8Array, abortSignal?: AbortSignal): Promise<CacheSetContainsElement.Response>;
    private sendSetContainsElement;
    setContainsElements(cacheName: string, setName: string, elements: string[] | Uint8Array[], abortSignal?: AbortSignal): Promise<CacheSetContainsElements.Response>;
    private sendSetContainsElements;
    setRemoveElements(cacheName: string, setName: string, elements: string[] | Uint8Array[], abortSignal?: AbortSignal): Promise<CacheSetRemoveElements.Response>;
    private sendSetRemoveElements;
    setSample(cacheName: string, setName: string, limit: number, abortSignal?: AbortSignal): Promise<CacheSetSample.Response>;
    private sendSetSample;
    setPop(cacheName: string, setName: string, count: number, abortSignal?: AbortSignal): Promise<CacheSetPop.Response>;
    private sendSetPop;
    setLength(cacheName: string, setName: string, abortSignal?: AbortSignal): Promise<CacheSetLength.Response>;
    private sendSetLength;
    setIfNotExists(cacheName: string, key: string | Uint8Array, value: string | Uint8Array, ttl?: number, abortSignal?: AbortSignal): Promise<CacheSetIfNotExists.Response>;
    private sendSetIfNotExists;
    setIfAbsent(cacheName: string, key: string | Uint8Array, value: string | Uint8Array, options?: SetIfAbsentCallOptions): Promise<CacheSetIfAbsent.Response>;
    private sendSetIfAbsent;
    setIfPresent(cacheName: string, key: string | Uint8Array, value: string | Uint8Array, ttl?: number, abortSignal?: AbortSignal): Promise<CacheSetIfPresent.Response>;
    private sendSetIfPresent;
    setIfEqual(cacheName: string, key: string | Uint8Array, value: string | Uint8Array, equal: string | Uint8Array, ttl?: number, abortSignal?: AbortSignal): Promise<CacheSetIfEqual.Response>;
    private sendSetIfEqual;
    setIfNotEqual(cacheName: string, key: string | Uint8Array, value: string | Uint8Array, notEqual: string | Uint8Array, ttl?: number, abortSignal?: AbortSignal): Promise<CacheSetIfNotEqual.Response>;
    private sendSetIfNotEqual;
    setIfPresentAndNotEqual(cacheName: string, key: string | Uint8Array, value: string | Uint8Array, notEqual: string | Uint8Array, ttl?: number, abortSignal?: AbortSignal): Promise<CacheSetIfPresentAndNotEqual.Response>;
    private sendSetIfPresentAndNotEqual;
    setIfAbsentOrEqual(cacheName: string, key: string | Uint8Array, value: string | Uint8Array, equal: string | Uint8Array, ttl?: number, abortSignal?: AbortSignal): Promise<CacheSetIfAbsentOrEqual.Response>;
    private sendSetIfAbsentOrEqual;
    setIfPresentAndHashEqual(cacheName: string, key: string | Uint8Array, value: string | Uint8Array, hashEqual: Uint8Array, ttl?: number, abortSignal?: AbortSignal): Promise<CacheSetIfPresentAndHashEqual.Response>;
    private sendSetIfPresentAndHashEqual;
    setIfPresentAndHashNotEqual(cacheName: string, key: string | Uint8Array, value: string | Uint8Array, hashNotEqual: Uint8Array, ttl?: number, abortSignal?: AbortSignal): Promise<CacheSetIfPresentAndHashNotEqual.Response>;
    private sendSetIfPresentAndHashNotEqual;
    setIfAbsentOrHashEqual(cacheName: string, key: string | Uint8Array, value: string | Uint8Array, hashEqual: Uint8Array, ttl?: number, abortSignal?: AbortSignal): Promise<CacheSetIfAbsentOrHashEqual.Response>;
    private sendSetIfAbsentOrHashEqual;
    setIfAbsentOrHashNotEqual(cacheName: string, key: string | Uint8Array, value: string | Uint8Array, hashNotEqual: Uint8Array, ttl?: number, abortSignal?: AbortSignal): Promise<CacheSetIfAbsentOrHashNotEqual.Response>;
    private sendSetIfAbsentOrHashNotEqual;
    delete(cacheName: string, key: string | Uint8Array, abortSignal?: AbortSignal): Promise<CacheDelete.Response>;
    private sendDelete;
    get(cacheName: string, key: string | Uint8Array, options?: GetCallOptions): Promise<CacheGet.Response>;
    private sendGet;
    getWithHash(cacheName: string, key: string | Uint8Array, options?: GetWithHashCallOptions): Promise<CacheGetWithHash.Response>;
    private sendGetWithHash;
    getBatch(cacheName: string, keys: Array<string | Uint8Array>, options?: GetBatchCallOptions): Promise<CacheGetBatch.Response>;
    private sendGetBatch;
    setBatch(cacheName: string, items: Record<string, string | Uint8Array> | Map<string | Uint8Array, string | Uint8Array> | Array<SetBatchItem>, options?: SetBatchCallOptions): Promise<CacheSetBatch.Response>;
    private sendSetBatch;
    listConcatenateBack(cacheName: string, listName: string, values: string[] | Uint8Array[], truncateFrontToSize?: number, ttl?: CollectionTtl, abortSignal?: AbortSignal): Promise<CacheListConcatenateBack.Response>;
    private sendListConcatenateBack;
    listConcatenateFront(cacheName: string, listName: string, values: string[] | Uint8Array[], truncateBackToSize?: number, ttl?: CollectionTtl, abortSignal?: AbortSignal): Promise<CacheListConcatenateFront.Response>;
    private sendListConcatenateFront;
    listFetch(cacheName: string, listName: string, startIndex?: number, endIndex?: number, abortSignal?: AbortSignal): Promise<CacheListFetch.Response>;
    private sendListFetch;
    listRetain(cacheName: string, listName: string, startIndex?: number, endIndex?: number, ttl?: CollectionTtl, abortSignal?: AbortSignal): Promise<CacheListRetain.Response>;
    private sendListRetain;
    listLength(cacheName: string, listName: string, abortSignal?: AbortSignal): Promise<CacheListLength.Response>;
    private sendListLength;
    listPopBack(cacheName: string, listName: string, abortSignal?: AbortSignal): Promise<CacheListPopBack.Response>;
    private sendListPopBack;
    listPopFront(cacheName: string, listName: string, abortSignal?: AbortSignal): Promise<CacheListPopFront.Response>;
    private sendListPopFront;
    listPushBack(cacheName: string, listName: string, value: string | Uint8Array, truncateFrontToSize?: number, ttl?: CollectionTtl, abortSignal?: AbortSignal): Promise<CacheListPushBack.Response>;
    private sendListPushBack;
    listPushFront(cacheName: string, listName: string, value: string | Uint8Array, truncateBackToSize?: number, ttl?: CollectionTtl, abortSignal?: AbortSignal): Promise<CacheListPushFront.Response>;
    private sendListPushFront;
    listRemoveValue(cacheName: string, listName: string, value: string | Uint8Array, abortSignal?: AbortSignal): Promise<CacheListRemoveValue.Response>;
    private sendListRemoveValue;
    dictionaryFetch(cacheName: string, dictionaryName: string, abortSignal?: AbortSignal): Promise<CacheDictionaryFetch.Response>;
    private sendDictionaryFetch;
    dictionarySetField(cacheName: string, dictionaryName: string, field: string | Uint8Array, value: string | Uint8Array, ttl?: CollectionTtl, abortSignal?: AbortSignal): Promise<CacheDictionarySetField.Response>;
    private sendDictionarySetField;
    dictionarySetFields(cacheName: string, dictionaryName: string, elements: Map<string | Uint8Array, string | Uint8Array> | Record<string, string | Uint8Array> | Array<[string, string | Uint8Array]>, ttl?: CollectionTtl, abortSignal?: AbortSignal): Promise<CacheDictionarySetFields.Response>;
    private sendDictionarySetFields;
    dictionaryGetField(cacheName: string, dictionaryName: string, field: string | Uint8Array, abortSignal?: AbortSignal): Promise<CacheDictionaryGetField.Response>;
    private sendDictionaryGetField;
    dictionaryGetFields(cacheName: string, dictionaryName: string, fields: string[] | Uint8Array[], abortSignal?: AbortSignal): Promise<CacheDictionaryGetFields.Response>;
    private sendDictionaryGetFields;
    dictionaryRemoveField(cacheName: string, dictionaryName: string, field: string | Uint8Array, abortSignal?: AbortSignal): Promise<CacheDictionaryRemoveField.Response>;
    private sendDictionaryRemoveField;
    dictionaryRemoveFields(cacheName: string, dictionaryName: string, fields: string[] | Uint8Array[], abortSignal?: AbortSignal): Promise<CacheDictionaryRemoveFields.Response>;
    private sendDictionaryRemoveFields;
    dictionaryLength(cacheName: string, dictionaryName: string, abortSignal?: AbortSignal): Promise<CacheDictionaryLength.Response>;
    private sendDictionaryLength;
    increment(cacheName: string, field: string | Uint8Array, amount?: number, ttl?: number, abortSignal?: AbortSignal): Promise<CacheIncrement.Response>;
    private sendIncrement;
    dictionaryIncrement(cacheName: string, dictionaryName: string, field: string | Uint8Array, amount?: number, ttl?: CollectionTtl, abortSignal?: AbortSignal): Promise<CacheDictionaryIncrement.Response>;
    private sendDictionaryIncrement;
    sortedSetPutElement(cacheName: string, sortedSetName: string, value: string | Uint8Array, score: number, ttl?: CollectionTtl, abortSignal?: AbortSignal): Promise<CacheSortedSetPutElement.Response>;
    private sendSortedSetPutElement;
    sortedSetPutElements(cacheName: string, sortedSetName: string, elements: Map<string | Uint8Array, number> | Record<string, number> | Array<[string, number]>, ttl?: CollectionTtl, abortSignal?: AbortSignal): Promise<CacheSortedSetPutElements.Response>;
    private sendSortedSetPutElements;
    sortedSetFetchByRank(cacheName: string, sortedSetName: string, order: SortedSetOrder, startRank: number, endRank?: number, abortSignal?: AbortSignal): Promise<CacheSortedSetFetch.Response>;
    private sendSortedSetFetchByRank;
    sortedSetFetchByScore(cacheName: string, sortedSetName: string, order: SortedSetOrder, minScore?: number, maxScore?: number, offset?: number, count?: number, abortSignal?: AbortSignal): Promise<CacheSortedSetFetch.Response>;
    private sendSortedSetFetchByScore;
    sortedSetGetRank(cacheName: string, sortedSetName: string, value: string | Uint8Array, order?: SortedSetOrder, abortSignal?: AbortSignal): Promise<CacheSortedSetGetRank.Response>;
    private sendSortedSetGetRank;
    sortedSetGetScore(cacheName: string, sortedSetName: string, value: string | Uint8Array, abortSignal?: AbortSignal): Promise<CacheSortedSetGetScore.Response>;
    sortedSetGetScores(cacheName: string, sortedSetName: string, values: string[] | Uint8Array[], abortSignal?: AbortSignal): Promise<CacheSortedSetGetScores.Response>;
    private sendSortedSetGetScores;
    sortedSetIncrementScore(cacheName: string, sortedSetName: string, value: string | Uint8Array, amount?: number, ttl?: CollectionTtl, abortSignal?: AbortSignal): Promise<CacheSortedSetIncrementScore.Response>;
    private sendSortedSetIncrementScore;
    sortedSetRemoveElement(cacheName: string, sortedSetName: string, value: string | Uint8Array, abortSignal?: AbortSignal): Promise<CacheSortedSetRemoveElement.Response>;
    private sendSortedSetRemoveElement;
    sortedSetRemoveElements(cacheName: string, sortedSetName: string, values: string[] | Uint8Array[], abortSignal?: AbortSignal): Promise<CacheSortedSetRemoveElements.Response>;
    private sendSortedSetRemoveElements;
    sortedSetLength(cacheName: string, sortedSetName: string, abortSignal?: AbortSignal): Promise<CacheSortedSetLength.Response>;
    private sendSortedSetLength;
    sortedSetLengthByScore(cacheName: string, sortedSetName: string, minScore?: number, maxScore?: number, abortSignal?: AbortSignal): Promise<CacheSortedSetLengthByScore.Response>;
    private sendSortedSetLengthByScore;
    sortedSetUnionStore(cacheName: string, sortedSetName: string, sources: SortedSetSource[], aggregate?: SortedSetAggregate, ttl?: CollectionTtl, abortSignal?: AbortSignal): Promise<CacheSortedSetUnionStore.Response>;
    private sendSortedSetUnionStore;
    private initializeInterceptors;
    private initializeStreamingInterceptors;
    private convert;
    private convertArray;
    private convertElements;
    private convertSortedSetMapOrRecord;
    private convertSetBatchElements;
    itemGetType(cacheName: string, key: string | Uint8Array, abortSignal?: AbortSignal): Promise<CacheItemGetType.Response>;
    private sendItemGetType;
    itemGetTtl(cacheName: string, key: string | Uint8Array, abortSignal?: AbortSignal): Promise<CacheItemGetTtl.Response>;
    private sendItemGetTtl;
    keyExists(cacheName: string, key: string | Uint8Array, abortSignal?: AbortSignal): Promise<CacheKeyExists.Response>;
    private sendKeyExists;
    updateTtl(cacheName: string, key: string | Uint8Array, ttlMilliseconds: number, abortSignal?: AbortSignal): Promise<CacheUpdateTtl.Response>;
    private sendUpdateTtl;
    keysExist(cacheName: string, keys: string[] | Uint8Array[], abortSignal?: AbortSignal): Promise<CacheKeysExist.Response>;
    private sendKeysExist;
    increaseTtl(cacheName: string, key: string | Uint8Array, ttlMilliseconds: number, abortSignal?: AbortSignal): Promise<CacheIncreaseTtl.Response>;
    private sendIncreaseTtl;
    decreaseTtl(cacheName: string, key: string | Uint8Array, ttlMilliseconds: number, abortSignal?: AbortSignal): Promise<CacheDecreaseTtl.Response>;
    private sendDecreaseTtl;
    private createMetadata;
    private toSingletonFieldValuePair;
    private createStreamingInterceptionsWithCancellation;
}
