import type { IStripeService, ICardElementManager, IPaymentElementManager, IAddressElementManager, ILinkAuthenticationElementManager, ICurrencySelectorElementManager, IExpressCheckoutElementManager } from './interfaces'; /** * Service Factory * Creates service instances with proper dependency injection * Can be mocked in tests for better testability */ export declare class ServiceFactory { /** * Create a new StripeService instance */ createStripeService(): IStripeService; /** * Create a new CardElementManager instance * @param stripeService - Injected StripeService dependency */ createCardElementManager(stripeService: IStripeService): ICardElementManager; /** * Create a new PaymentElementManager instance * @param stripeService - Injected StripeService dependency */ createPaymentElementManager(stripeService: IStripeService): IPaymentElementManager; /** * Create a new AddressElementManager instance * @param stripeService - Injected StripeService dependency */ createAddressElementManager(stripeService: IStripeService): IAddressElementManager; /** * Create a new LinkAuthenticationElementManager instance * @param stripeService - Injected StripeService dependency */ createLinkAuthenticationElementManager(stripeService: IStripeService): ILinkAuthenticationElementManager; /** * Create a new CurrencySelectorElementManager instance * @param stripeService - Injected StripeService dependency */ createCurrencySelectorElementManager(stripeService: IStripeService): ICurrencySelectorElementManager; /** * Create a new ExpressCheckoutElementManager instance * @param stripeService - Injected StripeService dependency */ createExpressCheckoutElementManager(stripeService: IStripeService): IExpressCheckoutElementManager; } /** * Default factory instance * Can be replaced with a mock in tests */ export declare const serviceFactory: ServiceFactory;