import { PricingTablePlan } from '../../../../utilities/types/pricing-table'; type PricingTableState = { monthly: PricingTablePlan[]; yearly: PricingTablePlan[]; featuredPlanUuid: string | null; defaultCurrencyShortName: string | null; }; type PlanConfig = { successUrls: [string, string][]; granteeIds: [string, string][]; cancelUrls: [string, string][]; }; export declare class SalablePricingTable { planConfig: PlanConfig | null; state: PricingTableState | null; errorMessage: string | null; selectedBillingPeriodKey: 'monthly' | 'yearly'; isLoadingPlanUuid: string | null; apiUrl: string | null; /** * The generated token for this session from the Salable API **/ sessionToken: string; /** * The uuid of the pricing table that you want to display. **/ uuid: string; /** * If you provided the uuid of a custom pricing table set this to true **/ isCustomPricingTable: boolean; /** * The URL to send users for coming soon plans. **/ globalContactUrl: string; /** * The URL to send users to after a successful purchase. Must be an absolute URL. **/ globalSuccessUrl: string; /** * The URL to send users to if the transaction fails. Must be an absolute URL. **/ globalCancelUrl: string; /** * The unique identifier for the grantee for all plan checkouts links. **/ globalGranteeId: string; /** * The ID of the member who will manage the license. * * Deprecated. Use owner instead. **/ member: string; /** * The owner of the subscription. * * If the owner field is not provided it is set by the member field */ owner: string; /** * Uses the currency short name (e.g. USD). Required if pricing table contains paid plans **/ currency: string; /** * Used to pre-fill the promo code in Stripe checkout. Use the promo code ID from Stripe dashboard. * Customers cannot edit this field during checkout. **/ promoCode: string; /** * Enables the promo code field in Stripe checkout. Accepts 'true' or 'false'. * Cannot be used with promoCode. **/ allowPromoCode: string; /** * Pre-fills the customer email in Stripe checkout. **/ customerEmail: string; /** * The ID of an existing customer in your payment integration. * This pre-fills the email, card details, and postcode at checkout. **/ customerId: string; /** * Automatically calculate tax on checkout based on the customer's location and your Stripe settings. **/ automaticTax: string; /** * Configure granteeIds per plan, string format `{'plan-uuid-one': 'granteeIdOne', 'plan-uuid-two': 'granteeIdTwo'}` **/ perPlanGranteeIds: Record | string; /** * Configure successUrls per plan, string format `{'plan-uuid-one': 'https://example.com/success-one' , 'plan-uuid-two': 'https://example.com/success-two'}` **/ perPlanSuccessUrls: Record | string; /** * Configure cancelUrls per plan, string format `{'plan-uuid-one':'https://example.com/cancel-one','plan-uuid-two':'https://example.com/cancel-two'}` **/ perPlanCancelUrls: Record | string; environment?: string; private _perPlanGranteeIds?; private _perPlanSuccessUrls?; private _perPlanCancelUrls?; private toggleIntervalEl; validateProp(newValue: string, propName: string): void; perPlanGranteeIdsWatcher(newValue?: Record | string): void; perPlanSuccessUrlsWatcher(newValue?: Record | string): void; perPlanCancelUrlsWatcher(newValue?: Record | string): void; componentWillLoad(): Promise; render(): any; private validateProps; private validateConditionalProps; private fetchCheckoutUrl; private fetchPricingTable; private initialiseState; private getPricingTableDefaultCurrency; private getCurrency; private planUnitValue; private planCtaLabelValue; private handleToggleBillingPeriod; private handleToggleBillingPeriodMonthly; private handleToggleBillingPeriodYearly; private handlePlanSelect; private createLicenses; private initPlanConfig; private getCardClass; private productPricingTableFactory; private getColumnCount; private calculateColumnCount; private calcPrice; private getFeatureValue; } export {};