import { type AssortmentsModule, type AssortmentsSettingsOptions } from '@unchainedshop/core-assortments'; import { type BookmarksModule } from '@unchainedshop/core-bookmarks'; import { type CountriesModule } from '@unchainedshop/core-countries'; import { type CurrenciesModule } from '@unchainedshop/core-currencies'; import { type DeliveryModule, type DeliverySettingsOptions } from '@unchainedshop/core-delivery'; import { type EnrollmentsModule, type EnrollmentsSettingsOptions } from '@unchainedshop/core-enrollments'; import { type EventsModule } from '@unchainedshop/core-events'; import { type FilesModule, type FilesSettingsOptions } from '@unchainedshop/core-files'; import { type FiltersModule, type FiltersSettingsOptions } from '@unchainedshop/core-filters'; import { type LanguagesModule } from '@unchainedshop/core-languages'; import { type OrdersModule, type OrdersSettingsOptions } from '@unchainedshop/core-orders'; import { type PaymentModule, type PaymentSettingsOptions } from '@unchainedshop/core-payment'; import { type ProductsModule, type ProductsSettingsOptions } from '@unchainedshop/core-products'; import { type QuotationsModule, type QuotationsSettingsOptions } from '@unchainedshop/core-quotations'; import { type UserSettingsOptions, type UsersModule } from '@unchainedshop/core-users'; import { type WarehousingModule } from '@unchainedshop/core-warehousing'; import { type WorkerModule, type WorkerSettingsOptions } from '@unchainedshop/core-worker'; import { type MigrationRepository, type ModuleInput, type mongodb } from '@unchainedshop/mongodb'; export interface Modules { assortments: AssortmentsModule; bookmarks: BookmarksModule; countries: CountriesModule; currencies: CurrenciesModule; delivery: DeliveryModule; enrollments: EnrollmentsModule; events: EventsModule; files: FilesModule; filters: FiltersModule; languages: LanguagesModule; orders: OrdersModule; payment: PaymentModule; products: ProductsModule; quotations: QuotationsModule; users: UsersModule; warehousing: WarehousingModule; worker: WorkerModule; } export interface ModuleOptions { assortments?: AssortmentsSettingsOptions; products?: ProductsSettingsOptions; delivery?: DeliverySettingsOptions; payment?: PaymentSettingsOptions; filters?: FiltersSettingsOptions; enrollments?: EnrollmentsSettingsOptions; orders?: OrdersSettingsOptions; quotations?: QuotationsSettingsOptions; files?: FilesSettingsOptions; worker?: WorkerSettingsOptions; users?: UserSettingsOptions; } export default function initModules({ db, migrationRepository, options, }: { db: mongodb.Db; migrationRepository: MigrationRepository; options: ModuleOptions; }, customModules: Record) => any; }>): Promise;