import { LRUCacheOptions } from 'typescript-lru-cache'; import { ACSKey } from '../../types'; import { PaginatedResolvedAcsOptions, ResolvedAcsOptions } from '../../service'; import { AbstractLedgerProvider } from '@canton-network/core-provider-ledger'; import { LedgerCommonSchemas } from '@canton-network/core-ledger-client-types'; import { ACSCache, BaseACSCache, PaginatedACSCache } from '../item'; export type ACSCacheCollectionOptions = Pick, 'maxSize' | 'entryExpirationTimeInMS'>; export declare abstract class BaseCacheCollection { protected readonly ledger: AbstractLedgerProvider; private readonly options; private readonly collection; constructor(ledger: AbstractLedgerProvider, options?: ACSCacheCollectionOptions); /** * Reads the active contract set from the ledger with caching. * Resolves party references and constructs cache keys from the provided template and interface IDs. * Queries are deduplicated and cached per party-template-interface combination. */ readFromCache(options: Options): Promise; protected abstract createCache(): Cache; protected getCache(key: ACSKey): Cache; /** * Updates the cached active contract set for a specific key and returns contracts at the requested offset. * If the cache is outdated, fetches updates from the ledger and applies them incrementally. */ private updateCache; /** * Queries multiple cache keys in parallel and combines the results. * Each key represents a unique party-template-interface combination to be queried independently. */ private query; private serializeKey; } //# sourceMappingURL=base.d.ts.map