import { EventEmitter } from '../../stencil-public-runtime'; import JustifiAnalytics from '../../api/Analytics'; import { PaymentMethodPayload } from '../checkout/payment-method-payload'; import { ComponentSubmitEvent, ComponentErrorEvent } from '../../api'; import { PAYMENT_METHODS } from '../modular-checkout/ModularCheckout'; import { BillingFormFields } from '../checkout/billing-form/billing-form-schema'; interface ValidationResult { isValid: boolean; errors?: Record; } export declare class JustifiTokenizePaymentMethod { analytics: JustifiAnalytics; private billingFormRef?; private paymentMethodFormRef?; private unsubscribeFromStore?; host: HTMLElement; computedHideSubmitButton: boolean; isLoading: boolean; selectedPaymentMethod?: PAYMENT_METHODS; accountId?: string; authToken?: string; disableBankAccount?: boolean; disableCreditCard?: boolean; hideBankAccountBillingForm?: boolean; hideCardBillingForm?: boolean; hideSubmitButton?: boolean; paymentMethodGroupId?: string; submitButtonText?: string; savePaymentMethodLabel?: string; paymentMethodsChanged(): void; errorEvent: EventEmitter; submitEvent: EventEmitter; connectedCallback(): void; disconnectedCallback(): void; componentWillLoad(): void; handleRadioClick(event: CustomEvent): void; tokenizePaymentMethod(event?: MouseEvent): Promise; fillBillingForm(fields: BillingFormFields): Promise; validate(): Promise; getValues(): Promise; tokenize(): Promise; private validateRequiredProps; private setDefaultSelectedPaymentMethod; private setComputedHideSubmitButton; private isSlottedWithinModularCheckout; private get availablePaymentMethods(); private areFormsReady; private emitError; private createErrorResponse; resolvePaymentMethod(insuranceValidation: any): Promise; private performTokenization; private buildPaymentMethodMetadata; private get paymentMethodGroupID(); private get shouldSavePaymentMethod(); private get shouldHideRadioInput(); private renderPaymentMethodOption; private renderSelectedPaymentMethodForm; private renderPaymentMethodForm; render(): any; } export {};