import type { Modules } from '../modules.ts'; import { migrateUserDataService } from './migrateUserData.ts'; import { updateUserAvatarAfterUploadService } from './updateUserAvatarAfterUpload.ts'; import { linkFileService } from './linkFileService.ts'; import { createSignedURLService } from './createSignedURL.ts'; import { uploadFileFromURLService } from './uploadFileFromURL.ts'; import { uploadFileFromStreamService } from './uploadFileFromStream.ts'; import { removeFilesService } from './removeFiles.ts'; import { createDownloadStreamService } from './createDownloadStream.ts'; import { migrateBookmarksService } from './migrateBookmarks.ts'; import { migrateOrderCartsService } from './migrateOrderCart.ts'; import { nextUserCartService } from './nextUserCart.ts'; import { removeProductService } from './removeProduct.ts'; import { initCartProvidersService } from './initCartProviders.ts'; import { updateCalculationService } from './updateCalculation.ts'; import { supportedDeliveryProvidersService } from './supportedDeliveryProviders.ts'; import { deleteUserService } from './deleteUser.ts'; import { supportedPaymentProvidersService } from './supportedPaymentProviders.ts'; import { supportedWarehousingProvidersService } from './supportedWarehousingProviders.ts'; import { createEnrollmentFromCheckoutService } from './createEnrollmentFromCheckout.ts'; import { searchAssortmentsService } from './searchAssortments.ts'; import { searchProductsService } from './searchProducts.ts'; import { calculateDiscountTotalService } from './calculateDiscountTotal.ts'; import { registerPaymentCredentialsService } from './registerPaymentCredentials.ts'; import { processOrderService } from './processOrder.ts'; import { checkoutOrderService } from './checkoutOrder.ts'; import { confirmOrderService } from './confirmOrder.ts'; import { rejectOrderService } from './rejectOrder.ts'; import { discountedEntitiesService } from './discountedEntities.ts'; import { createManualOrderDiscountService } from './createManualOrderDiscount.ts'; import { initializeEnrollmentService } from './initializeEnrollment.ts'; import { activateEnrollmentService } from './activateEnrollment.ts'; import { terminateEnrollmentService } from './terminateEnrollment.ts'; import { invalidateFilterCacheService } from './invalidateFilterCache.ts'; import { fulfillQuotationService } from './fulfillQuotation.ts'; import { processQuotationService } from './processQuotation.ts'; import { proposeQuotationService } from './proposeQuotation.ts'; import { rejectQuotationService } from './rejectQuotation.ts'; import { verifyQuotationService } from './verifyQuotation.ts'; import { loadFiltersService } from './loadFilters.ts'; import { loadFilterOptionsService } from './loadFilterOptions.ts'; import { removeFilterService } from './removeFilter.ts'; import { removeCartDiscountService } from './removeCartDiscount.ts'; import { addMultipleCartProductsService } from './addMultipleCartProducts.ts'; import { ercMetadataService } from './ercMetadata.ts'; import { simulateProductPricingService } from './simulateProductPricing.ts'; import { simulateProductDispatchingService } from './simulateProductDispatching.ts'; import { simulateProductInventoryService } from './simulateProductInventory.ts'; import { simulateDeliveryPricingService } from './simulateDeliveryPricing.ts'; import { simulatePaymentPricingService } from './simulatePaymentPricing.ts'; import { findOrInitCartService } from './findOrInitCart.ts'; import { addMessageService } from './addMessage.ts'; import { generateOrderFromEnrollmentService } from './generateOrderFromEnrollment.ts'; import { resolveOrderItemDispatchesService } from './resolveOrderItemDispatches.ts'; import { findProductSiblingsService } from './findProductSiblings.ts'; import { simulateConfigurablePriceRangeService } from './simulateConfigurablePriceRange.ts'; import { createFileDownloadURLService } from './createFileDownloadURL.ts'; import { resolveTokenStatusService } from './resolveTokenStatus.ts'; import { isTokenInvalidateableService } from './isTokenInvalidateable.ts'; export type ServiceInterface = (this: Modules, ...args: any[]) => Promise | any; export type Bound = OmitThisParameter; export type CustomServices = Record>; export default function initServices(modules: Modules, customServices?: CustomServices): { bookmarks: { migrateBookmarks: Bound; }; files: { linkFile: Bound; createSignedURL: Bound; uploadFileFromURL: Bound; uploadFileFromStream: Bound; removeFiles: Bound; createDownloadStream: Bound; createFileDownloadURL: Bound; }; orders: { registerPaymentCredentials: Bound; calculateDiscountTotal: Bound; migrateOrderCarts: Bound; nextUserCart: Bound; findOrInitCart: Bound; initCartProviders: Bound; updateCalculation: Bound; supportedDeliveryProviders: Bound; supportedPaymentProviders: Bound; supportedWarehousingProviders: Bound; processOrder: Bound; checkoutOrder: Bound; confirmOrder: Bound; rejectOrder: Bound; discountedEntities: Bound; createManualOrderDiscount: Bound; resolveOrderItemDispatches: Bound; removeCartDiscount: Bound; addMultipleCartProducts: Bound; }; products: { simulateProductPricing: Bound; simulateProductDispatching: Bound; simulateProductInventory: Bound; removeProduct: Bound; findProductSiblings: Bound; simulateConfigurablePriceRange: Bound; }; users: { migrateUserData: Bound; updateUserAvatarAfterUpload: Bound; deleteUser: Bound; }; enrollments: { createEnrollmentFromCheckout: Bound; generateOrderFromEnrollment: Bound; processEnrollment: Bound; initializeEnrollment: Bound; activateEnrollment: Bound; terminateEnrollment: Bound; }; quotations: { fulfillQuotation: Bound; processQuotation: Bound; proposeQuotation: Bound; rejectQuotation: Bound; verifyQuotation: Bound; }; filters: { searchAssortments: Bound; searchProducts: Bound; invalidateFilterCache: Bound; loadFilters: Bound; loadFilterOptions: Bound; removeFilter: Bound; }; warehousing: { ercMetadata: Bound; resolveTokenStatus: Bound; isTokenInvalidateable: Bound; }; worker: { addMessage: Bound; }; delivery: { simulateDeliveryPricing: Bound; }; payment: { simulatePaymentPricing: Bound; }; }; export type Services = ReturnType;