import type { PricingCalculation } from '@unchainedshop/utils'; export interface PricingDiscount { discountId: string; amount: number; currencyCode: string; } export interface IPricingSheet extends IBasePricingSheet { discountPrices: (discountId?: string) => PricingDiscount[]; addDiscount: (params: { amount: number; discountId: string; meta?: any; }) => void; } export interface IBasePricingSheet { calculation: Calculation[]; currencyCode?: string; quantity?: number; getRawPricingSheet: () => Calculation[]; filterBy: (filter?: Partial) => Calculation[]; isValid: () => boolean; gross: () => number; net: () => number; sum: (filter?: Partial) => number; total: (params?: { category?: string; discountId?: string; useNetPrice?: boolean; }) => { amount: number; currencyCode: string; }; taxSum: (filter?: Partial) => number; resetCalculation: (sheetToInvert: IBasePricingSheet) => Calculation[]; } export interface PricingSheetParams { calculation?: Calculation[]; currencyCode?: string; quantity?: number; } export declare const BasePricingSheet: (params: PricingSheetParams) => IBasePricingSheet; export declare const resolveRatioAndTaxDivisorForPricingSheet: (pricing: IBasePricingSheet, total: number) => { ratio: number; taxDivisor: number; };