import { type BasePricingAdapterContext, type IPricingAdapter, type IPricingSheet } from '../directors/index.ts'; import type { DeliveryProvider } from '@unchainedshop/core-delivery'; import type { PricingCalculation } from '@unchainedshop/utils'; import type { OrderDelivery, OrderDiscount, Order } from '@unchainedshop/core-orders'; import type { User } from '@unchainedshop/core-users'; import type { Modules } from '../modules.ts'; export interface DeliveryPricingCalculation extends PricingCalculation { discountId?: string; isNetPrice: boolean; isTaxable: boolean; rate?: number; } export type IDeliveryPricingSheet = IPricingSheet & { addFee: (params: { amount: number; isTaxable: boolean; isNetPrice: boolean; meta?: any; }) => void; addTax: (params: { amount: number; rate: number; baseCategory?: string; discountId?: string; meta?: any; }) => void; addDiscount: (params: { amount: number; isTaxable: boolean; isNetPrice: boolean; discountId: string; meta?: any; }) => void; }; export interface DeliveryPricingAdapterContext extends BasePricingAdapterContext { countryCode?: string; currencyCode?: string; provider: DeliveryProvider; providerContext?: any; order?: Order; orderDelivery?: OrderDelivery; user: User; discounts: OrderDiscount[]; } export type IDeliveryPricingAdapter = IPricingAdapter; export declare const DeliveryPricingAdapter: IDeliveryPricingAdapter;