import { IServiceContainer, Newable } from '@aesop-fables/containr'; import { IDataCache } from '../DataCache'; import { IRepository } from '../Repository'; import { DataCatalogModule } from './DataCatalogModule'; export type DataCatalogRegistrations = { caches?: IDataCache[]; repositories?: IRepository[]; }; export type DataCatalogModuleBuilder = (container: IServiceContainer) => DataCatalogRegistrations; export interface DataCatalogRegistration { defineData(): DataCatalogRegistrations; } export declare function createInlineDataCatalogModule(builder: DataCatalogModuleBuilder): DataCatalogModule; export declare function createDataModule(newable: Newable): DataCatalogModule;