import { type mongodb, type MigrationRepository, type ModuleInput } from '@unchainedshop/mongodb'; import { type CustomServices, type Services } from './services/index.ts'; import { type Modules, type ModuleOptions } from './modules.ts'; import { type BulkImporter, type BulkImportHandler } from './bulk-importer/index.ts'; import type { IBaseAdapter } from '@unchainedshop/utils'; import { type BulkExporter, type BulkExportHandler } from './bulk-exporter/index.ts'; export * from './bulk-importer/index.ts'; export * from './services/index.ts'; export * from './directors/index.ts'; export * from './factory/index.ts'; export * from './bulk-exporter/index.ts'; export { default as schedule, type ScheduleData } from './utils/schedule.ts'; export interface UnchainedCoreOptions { db: mongodb.Db; migrationRepository: MigrationRepository; bulkImporter?: { handlers?: Record>; }; bulkExporter?: { handlers?: Record>; }; modules?: Record) => any; }>; services?: CustomServices; options?: ModuleOptions; } export interface UnchainedCore { modules: Modules; services: Services; bulkImporter: BulkImporter; options: ModuleOptions; bulkExporter: BulkExporter; } export declare const initCore: ({ db, migrationRepository, bulkImporter: bulkImporterOptions, modules: customModules, services: customServices, options, bulkExporter: bulkExporterOptions, }: UnchainedCoreOptions) => Promise; export declare const getAllAdapters: () => IBaseAdapter[];