import { AbstractCache } from './AbstractCache'; import type { InMemoryGroupCacheConfiguration } from './memory/InMemoryGroupCache'; import type { GroupNotificationPublisher } from './notifications/GroupNotificationPublisher'; import type { GroupCache } from './types/DataSources'; import type { GetManyResult, SynchronousGroupCache } from './types/SyncDataSources'; export declare abstract class AbstractGroupCache extends AbstractCache | undefined>, GroupCache, SynchronousGroupCache, InMemoryGroupCacheConfiguration, GroupNotificationPublisher, LoadParams> { isGroupCache(): boolean; invalidateCacheForGroup(group: string): Promise; getInMemoryOnly(loadParams: LoadParams, group: string): LoadedValue | undefined | null; getManyInMemoryOnly(keys: string[], group: string): GetManyResult; getAsyncOnly(loadParams: LoadParams, group: string): Promise; getManyAsyncOnly(keys: string[], group: string, loadParams?: LoadManyParams): Promise>; get(loadParams: LoadParams, group: string): Promise; getMany(keys: string[], group: string, loadParams?: LoadManyParams): Promise; invalidateCacheFor(key: string, group: string): Promise; protected resolveGroupValue(key: string, group: string, _loadParams?: LoadParams): Promise; protected resolveManyGroupValues(keys: string[], group: string, _loadParams?: LoadManyParams): Promise>; protected resolveGroupLoads(group: string): Map; protected deleteGroupRunningLoad(groupLoads: Map, group: string, key: string): void; }