import { ChronikCacheConfig, HistoryResponse, CacheMetadata, CacheStatistics, ChronikClientInterface } from './types'; declare class ChronikCache { private chronik; private maxTxLimit; private defaultPageSize; private cacheDir; private maxCacheSize; private enableLogging; private logger; db: any; private statusMap; wsManager: any; private updateLocks; private scriptToAddressMap; private failover; private tokenStatusMap; private tokenUpdateLocks; globalMetadataCache: Map; globalMetadataCacheLimit: number; updateQueue: any; txUpdateQueue: any; private addressMemoryCache; private tokenMemoryCache; private stats; private debounceTimers; private memoryCacheCleanupInterval?; constructor(chronik: ChronikClientInterface, config?: ChronikCacheConfig); private _debounce; private _readCache; private _writeCache; private _updateGlobalMetadata; _getGlobalMetadata(identifier: string, isToken?: boolean): Promise; private _initWebsocketForAddress; private _initWebsocketForToken; private _getCacheStatus; private _setCacheStatus; private _isUpdating; private _checkTxLimit; private _checkAndUpdateCache; private _updateCache; private _convertScriptToAddress; script(type: string, hash: string): { history: (pageOffset?: number, pageSize?: number) => Promise; }; clearAddressCache(address: string): Promise; clearAllCache(): Promise; getAddressHistory(address: string, pageOffset?: number, pageSize?: number): Promise; private _getPageFromCache; address(address: string): { history: (pageOffset?: number, pageSize?: number) => Promise; }; private _checkAndUpdateTokenCache; private _updateTokenCache; getTokenHistory(tokenId: string, pageOffset?: number, pageSize?: number): Promise; tokenId(tokenId: string): { history: (pageOffset?: number, pageSize?: number) => Promise; }; private _quickGetTxCount; clearTokenCache(tokenId: string): Promise; private _updateUnconfirmedTx; private _updatePageUnconfirmedTxs; private _getTokenPageFromCache; private _maintainGlobalMetadataCacheLimit; getCacheStatus(identifier: string, isToken?: boolean): string; getStatistics(): Promise; private _resetMemoryCache; private _startMemoryCacheExpirationCheckTimer; destroy(): void; } export = ChronikCache;