import { FormConfig, PaymentDetail, PaymentProvider, SavedCardsGroupName, SavedCreditCardData, FormPaymentData, FooterInfo } from './types'; export declare function createSelect(payload: { name: string; attrs?: Record; selectAttrs?: Record; showSelectedValue?: boolean; options: { label: string; value: string; selected?: boolean; disabled?: boolean; icon?: string; }[]; }): string; export declare function createInput(payload: { label: string; message?: string; hint?: string; className?: string; attrs?: Record; defaultCountryCode?: string; slot?: { left: string; }; input: { name: string; type?: string; value?: string; placeholder?: string; disabled?: boolean; } & Record; }): string; export declare function createCheckbox(payload: { label: string; message?: string; className?: string; attrs?: Record; input: { name: string; } & Record; }): string; export declare function createButton(payload: { content: string; className?: string; attrs?: Record; wrapperAttrs?: Record; }): string; export declare function createSavedCardItem(params: { config: FormConfig; card: SavedCreditCardData; groupName?: SavedCardsGroupName; }): string; export declare function prepareCreditCardSection(params: { config: FormConfig; }): string; export declare function createCreditCardForm(params: { config: FormConfig; formType?: 'creditCard' | 'subscriberId' | 'both'; seperator?: 'top' | 'bottom' | 'both'; className?: string; attrs?: Record; showPrice: boolean; }): string; export declare function createProviderButton(params: { provider: PaymentProvider; config: FormConfig; tabAvailable?: boolean; }): string; export declare function prepareButtonSuccessLink(params: { config: FormConfig; paymentDetail: PaymentDetail; }): string; /** * One detail block per accepted post payment offer, since each one is billed as * its own purchase. Returns an empty string when there is nothing extra to show. */ export declare function prepareAdditionalPurchaseDetails(params: { config: FormConfig; paymentDetail: PaymentDetail; }): string; export declare function preparePaymentDetailsSection(params: { config: FormConfig; paymentDetail: PaymentDetail; }): string; /** * Replaces the checkout body with a post payment screen, keeping the header. * A previously mounted screen (offers -> success) is removed rather than hidden, * so its event listeners cannot fire after the transition. */ export declare function mountCheckoutScreen(htmlText: string, name: 'offers' | 'success'): HTMLElement | null; export declare function createPaymentSuccessForm(params: { config: FormConfig; paymentDetail: PaymentDetail; }): boolean; export declare function createPostPaymentOffersPage(params: { config: FormConfig; paymentDetail: PaymentDetail; /** Position of the displayed offer, each one has its own settings */ offerIndex?: number; }): boolean; export declare function createAllCardsModal(params: { config: FormConfig; }): string; export declare function createPaymentHeader(params: { config: FormConfig; }): string; export declare function createFooter(footerInfo: FooterInfo): string; export declare function createPriceTable(params: { config: FormConfig; }): string; export declare function prepareDiscountSection(params: { config: FormConfig; }): string; export declare function createDiscountInput(params: { config: FormConfig; }): string; export declare function getDiscountInfo(params: { config: FormConfig; discountObject?: FormPaymentData['discount']; isTrialTransaction?: boolean; isTrialUsed?: boolean; }): { discountCode: string; discountText: string; oldPrice: string; }; export declare function createAppliedDiscountSection(params: { config: FormConfig; hideOldPrice?: boolean; }): string;