type OrganisationPaymentIntegration = { accountId: string; }; type Product = { organisationPaymentIntegration: OrganisationPaymentIntegration; currencies: { defaultCurrency: boolean; currency: Currency; }[]; }; type Plan = { name: string; interval: string; pricingType: string; licenseType: string; product: Product; currencies: PlanCurrency[]; perSeatAmount: number; maxSeatAmount: number; evalDays: number; }; type PlanCurrency = { planUuid: string; currencyUuid: string; price: number; paymentIntegrationPlanId: string; currency: Currency; }; type Currency = { uuid: string; shortName: string; longName: string; symbol: string; }; type FormState = { userEmail: string; userEmailError: string | null; formError: string | null; isSubmitting: boolean; }; type CurrencyData = Currency & { price: number; paymentIntegrationPlanId: string; }; export declare class SalableCheckout { formState: FormState; stripeTheme: 'stripe' | 'night'; plan: Plan | null; currencyData: CurrencyData | null; errorMessage: string | null; /** * The generated token for this session from the Salable API */ sessionToken: string; /** * A unique identifier for a specific plan */ planUuid: string; /** * A unique identifier used in licensing that represents the entity to which a license is granted */ granteeId: string; /** * A unique identifier for a member or user. * * Deprecated. Use owner instead. */ member: string; /** * The URL the user is sent to if they successfully completed a payment */ successUrl: string; /** * The short name of the currency used in the checkout e.g. USD */ currency: string; /** * A user's email address to be used for the checkout. * * Providing the user's email skips the provide email step during checkout */ email: string; /** * The owner of the subscription. * * If owner is not provided it is set by the member field. */ owner: string; private stripe; private elements; private paymentElement; private stripeContainerElement; componentWillLoad(): Promise; /** * Only initialize the stripe element when the client secret * is available. Mounting the element in the DOM will be done * by the `ComponentDidUpdate` lifecycle */ componentDidRender(): Promise; render(): any; validateProp(newValue: string, propName: string): void; private _createElement; private handleEmailPrefill; private validateProps; private validateEmail; private handleEmailChange; private handlePayment; private fetchPlan; } export {};