import { OrderStatus, PaymentStatus, ShipmentStatus } from '../../../types/order.js'; /** * Retrieves the list of order statuses defined in the system. The statuses are defined in the configuration under `oms.order.status`. Each status includes details such as its name, badge, whether it's the default status, and possible next statuses. * @returns A record of order statuses, where the key is the status ID and the value is an object containing the status details. */ declare function getOrderStatusList(): Record; /** * Retrieves the list of shipment statuses defined in the system. The statuses are defined in the configuration under `oms.order.shipmentStatus`. Each status includes details such as its name, badge, whether it's the default status, and whether it's cancelable. * @returns A record of shipment statuses, where the key is the status ID and the value is an object containing the status details. */ declare function getShipmentStatusList(): Record; /** * Retrieves the list of payment statuses defined in the system. The statuses are defined in the configuration under `oms.order.paymentStatus`. Each status includes details such as its name, badge, whether it's the default status, and whether it's cancelable. * @returns A record of payment statuses, where the key is the status ID and the value is an object containing the status details. */ declare function getPaymentStatusList(): Record; /** * Registers a new payment status in the system. This function must be called during the application initialization phase (e.g., in a module's `bootstrap` function). * @param id Unique identifier for the payment status (e.g., "paid", "pending") * @param detail Object containing details about the payment status (name, badge, etc.) * @param psoMapping Optional mapping of payment status to order status (e.g., { "paid": "processing" }) */ declare function registerPaymentStatus(id: string, detail: PaymentStatus, psoMapping?: Record): void; /** * Registers a new shipment status in the system. This function must be called during the application initialization phase (e.g., in a module's `bootstrap` function). * @param id Unique identifier for the shipment status (e.g., "shipped", "delivered") * @param detail Object containing details about the shipment status (name, badge, etc.) * @param psoMapping Optional mapping of shipment status to order status (e.g., { "shipped": "processing" }) */ declare function registerShipmentStatus(id: string, detail: ShipmentStatus, psoMapping?: Record): void; /** * Registers a new order status in the system. This function must be called during the application initialization phase (e.g., in a module's `bootstrap` function). * @param id Unique identifier for the order status (e.g., "processing", "completed") * @param detail Object containing details about the order status (name, badge, next statuses, etc.) */ declare function registerOrderStatus(id: string, detail: OrderStatus): void; /** Registers a mapping of payment status and shipment status to order status. This function must be called during the application initialization phase (e.g., in a module's `bootstrap` function). * @param paymentStatus Payment status ID or "*" to match any payment status * @param shipmentStatus Shipment status ID or "*" to match any shipment status * @param orderStatus Order status ID to map to when the payment status and shipment status match the provided values */ declare function registerPSOStatusMapping(paymentStatus: string | '*', shipmentStatus: string | '*', orderStatus: string): void; export { getOrderStatusList, getShipmentStatusList, getPaymentStatusList, registerPaymentStatus, registerShipmentStatus, registerOrderStatus, registerPSOStatusMapping };