import type { IPaymentElementManager, IStripeService, PaymentElementState } from './interfaces'; import type { StripePaymentElement, StripePaymentElementOptions, StripeCheckoutPaymentElementOptions } from '@stripe/stripe-js'; /** * Payment Element Manager * Manages Stripe Payment Element (unified payment form) * with dependency injection of StripeService * Supports both Payment Intent mode and Checkout Session mode */ export declare class PaymentElementManager implements IPaymentElementManager { private stripeService; private paymentElement?; private store; /** * Constructor with dependency injection * @param stripeService - Injected Stripe service instance */ constructor(stripeService: IStripeService); /** * Get current payment element state (reactive) */ getState(): PaymentElementState; /** * Initialize and mount payment element to DOM * Supports both Payment Intent mode and Checkout Session mode * @param containerElement - Parent element containing mount point * @param options - Optional payment element options * @returns Promise resolving to payment element instance */ initialize(containerElement: HTMLElement, options?: StripePaymentElementOptions | StripeCheckoutPaymentElementOptions): Promise; /** * Get mounted payment element instance */ getElement(): StripePaymentElement | undefined; /** * Set error message (triggers reactivity) */ setError(message: string): void; /** * Clear error message (triggers reactivity) */ clearError(): void; /** * Unmount payment element */ unmount(): void; }