interface FormulaModel { operator: string; values: number[]; } interface PricingRulePropertyModel { propertyID: number; functionName: string; } interface IContext { sides: any; items: any; design: MPlaza.Design; rule: any; } export declare class DesignPriceCalculatorRuleFactory { static create: (product: any, apiUrl?: string, token?: string, isOwin?: boolean, cloudFlareApiUrl?: string, clientLang?: string) => Promise; } export declare class DesignPriceCalculatorRuleBased { colorID: number; private product?; private pricings?; private pricing?; private properties?; private config; constructor(apiUrl?: string, token?: string, isOwin?: boolean, cloudFlareApiUrl?: string, clientLang?: string); init: (product: any) => Promise; getPricings: (product: any, callback: (pricings: any, properties?: PricingRulePropertyModel[]) => void) => Promise; getPricing: (design: any) => any; distinct: (value: any, index: any, self: any) => boolean; ElementSizeFunction: (pContext: any, formula: FormulaModel) => { result: boolean; multiplier: number; items: any; }; NumberOfElementsSimplifiedFunction: (pContext: any, formula: FormulaModel) => { result: boolean; multiplier: any; items: any; }; LinesLengthFunction: (pContext: any, formula: FormulaModel) => any; AmountOfElementsFunction: (pContext: any, formula: FormulaModel) => any; AmountOfUsedColorsFunction: (pContext: any, formula: FormulaModel) => any; PriceByDesignSizeSimplifiedFunction: (pContext: any, formula: FormulaModel) => any; PriceByAreaSimplifiedFunction: (pContext: any, formula: FormulaModel) => any; CanvasSizeFunction: (pContext: IContext, formula: FormulaModel) => any; DesignSizeFunction: (pContext: any, formula: FormulaModel) => any; DesignTextLengthFunction: (pContext: any, formula: FormulaModel) => any; CustomizedSidesFunction: (pContext: any, formula: FormulaModel) => any; TextLengthFunction: (pContext: any, formula: FormulaModel) => any; conditionsToConditionsGroupByFormula: (conditions: any) => { formula: string; position: any; conditions: any[]; }[]; getFunctionName: (properties: any, rule: any) => any; GetContextForRule: (rule: any, product: any, design: any, sidesOnWhichThePriceIsEnabled: any, attributeMatchColorId?: number | null) => IContext; isUsingAmountOfColors: (printTypeID: number) => boolean; getPremiumPhotosPrice: (design: any, quantity: number) => number; /** * Get Image Price * * Metodo che calcola il prezzo per le immagini nel design a cui a backoffice * è stato valorizzato un prezzo * * @author f.checchia * * @param design Il design in input * @param {number} quantity La quantità del prodotto che si sta acquistando * * @return {number} Il prezzo complessivo delle immagini per la quantità * * */ getImagePrice: (design: any, quantity: number) => number; getMatchedConditions: (design: any, quantity: number, includePercentage: boolean, attributeMatchColorId?: number | null) => any; calculate: (design: any, quantity: number, attributeMatchColorId?: number | null, isPricingAdvancedEnabled?: boolean) => number; getPricingAdditionalInfo: (printTypeID: number) => { description: any; priceDescriptionEnabled: any; infoPricingText: any; priceStructure: any; } | undefined; } export {};