import { Context } from '../context'; import { Node } from '../node'; import { Variable } from '../variable'; import { Formatter, FormatterTable } from '../plugin'; export declare class AddToCartButtonFormatter extends Formatter { apply(args: string[], vars: Variable[], ctx: Context): void; } export declare class BookkeeperMoneyFormat extends Formatter { apply(args: string[], vars: Variable[], ctx: Context): void; } export declare class CartQuantityFormatter extends Formatter { apply(args: string[], vars: Variable[], ctx: Context): void; } export declare class CartSubtotalFormatter extends Formatter { apply(args: string[], vars: Variable[], ctx: Context): void; } export declare class CartUrlFormatter extends Formatter { apply(args: string[], vars: Variable[], ctx: Context): void; } export declare class FromPriceFormatter extends Formatter { apply(args: string[], vars: Variable[], ctx: Context): void; } export declare class PercentageFormatFormatter extends Formatter { apply(args: string[], vars: Variable[], ctx: Context): void; } export declare class NormalPriceFormatter extends Formatter { apply(args: string[], vars: Variable[], ctx: Context): void; } export declare class ProductCheckoutFormatter extends Formatter { apply(args: string[], vars: Variable[], ctx: Context): void; } type ProductPriceTemplateData = { fromText?: string; formattedFromPrice?: string; formattedSalePriceText?: string; formattedSalePrice?: string; formattedNormalPriceText?: string; formattedNormalPrice?: string; billingPeriodValue?: number; duration?: number; }; export declare class ProductPriceFormatter extends Formatter { private static BILLING_PERIOD_MONTHLY; private static BILLING_PERIOD_WEEKLY; private static BILLING_PERIOD_YEARLY; private static PER_YEAR; apply(args: string[], vars: Variable[], ctx: Context): void; resolveTemplateVariablesForOTPProduct(args: string[], ctx: Context, productNode: Node, templateData: ProductPriceTemplateData): void; resolveTemplateVariablesForSubscriptionProduct(args: string[], ctx: Context, productNode: Node, templateData: ProductPriceTemplateData): void; defaultSubscriptionPriceString(productNode: Node): string; getSubscriptionPlanBillingPeriodNode(item: Node): Node; getUnitFromSubscriptionPlanBillingPeriod(billingPeriodNode: Node): string; getValueFromSubscriptionPlanBillingPeriod(billingPeriodNode: Node): number; getNumBillingCyclesFromSubscriptionPlanNode(item: Node): number; } export declare class SubscriptionPriceFormatter extends Formatter { apply(args: string[], vars: Variable[], ctx: Context): void; getSalePriceMoney(pricingOption: Node, args: string[], ctx: Context): string; getPriceMoney(pricingOption: Node, args: string[], ctx: Context): string; } export declare class ProductQuickViewFormatter extends Formatter { apply(args: string[], vars: Variable[], ctx: Context): void; } export declare class ProductRestockNotificationFormatter extends Formatter { apply(args: string[], vars: Variable[], ctx: Context): void; } export declare class ProductScarcityFormatter extends Formatter { apply(args: string[], vars: Variable[], ctx: Context): void; } export declare class ProductStatusFormatter extends Formatter { apply(args: string[], vars: Variable[], ctx: Context): void; } export declare class QuantityInputFormatter extends Formatter { apply(args: string[], vars: Variable[], ctx: Context): void; } export declare class SalePriceFormatter extends Formatter { apply(args: string[], vars: Variable[], _ctx: Context): void; } export declare class VariantDescriptorFormatter extends Formatter { apply(args: string[], vars: Variable[], _ctx: Context): void; } export declare class VariantsSelectFormatter extends Formatter { apply(args: string[], vars: Variable[], ctx: Context): void; private getDisplayText; private getSelectText; } export declare class SummaryFormFieldFormatter extends Formatter { apply(args: string[], vars: Variable[], ctx: Context): void; } export declare const COMMERCE_FORMATTERS: FormatterTable; export {};