import { DataCache, IDataCache } from './DataCache'; import { DataStoreToken } from './DataStoreToken'; import { ICompartmentStorage } from './ICompartmentStorage'; import { IRepository } from './Repository'; export type CatalogType = 'cache' | 'repository'; export type Catalog = { type: CatalogType; storage: ICompartmentStorage; }; export declare class DataCatalog { private readonly values; get caches(): DataCache[]; get repositories(): IRepository[]; registerCache(cache: IDataCache): void; registerRepository(repository: IRepository): void; get(token: DataStoreToken): ICompartmentStorage | undefined; describe(token: DataStoreToken): CatalogType | undefined; }