import { Observable } from 'rxjs';
import { ConfirmAcssDebitPaymentData, ConfirmAcssDebitPaymentOptions, ConfirmAfterpayClearpayPaymentData, ConfirmAfterpayClearpayPaymentOptions, ConfirmAlipayPaymentData, ConfirmAlipayPaymentOptions, ConfirmAuBecsDebitPaymentData, ConfirmAuBecsDebitSetupData, ConfirmBancontactPaymentData, ConfirmBancontactPaymentOptions, ConfirmBoletoPaymentData, ConfirmBoletoPaymentOptions, ConfirmCardPaymentData, ConfirmCardPaymentOptions, ConfirmEpsPaymentData, ConfirmEpsPaymentOptions, ConfirmFpxPaymentData, ConfirmFpxPaymentOptions, ConfirmGiropayPaymentData, ConfirmGiropayPaymentOptions, ConfirmGrabPayPaymentData, ConfirmGrabPayPaymentOptions, ConfirmIdealPaymentData, ConfirmIdealPaymentOptions, ConfirmKlarnaPaymentData, ConfirmKlarnaPaymentOptions, ConfirmOxxoPaymentData, ConfirmOxxoPaymentOptions, ConfirmP24PaymentData, ConfirmP24PaymentOptions, ConfirmCardSetupData, ConfirmCardSetupOptions, ConfirmSepaDebitPaymentData, ConfirmSofortPaymentData, ConfirmWechatPayPaymentData, ConfirmWechatPayPaymentOptions, ConfirmSepaDebitSetupData, CreatePaymentMethodData, VerifyMicrodepositsForPaymentData, ConfirmAcssDebitSetupData, ConfirmAcssDebitSetupOptions, CreateSourceData, CreateTokenIbanData, CreateTokenCardData, CreateTokenPiiData, CreateTokenBankAccountData, PaymentRequest, PaymentRequestOptions, RedirectToCheckoutOptions, RetrieveSourceParam, Stripe, StripeCardElement, StripeCardNumberElement, StripeCardCvcElement, StripeConstructorOptions, StripeElements, StripeElementsOptions, StripeElement, StripeError, StripeIbanElement, TokenCreateParams, ConfirmBacsDebitSetupData, ConfirmBancontactSetupData, ConfirmIdealSetupData, ConfirmSofortSetupData, VerifyMicrodepositsForSetupData, VerificationSessionResult, ConfirmPayPalPaymentData, ConfirmPayPalSetupData, ConfirmPaymentData, ConfirmCustomerBalancePaymentData, ConfirmCustomerBalancePaymentOptions, ConfirmPayNowPaymentData, ConfirmPayNowPaymentOptions, ConfirmPromptPayPaymentData, ConfirmPromptPayPaymentOptions, ConfirmAffirmPaymentData, ConfirmAffirmPaymentOptions, ConfirmSofortPaymentOptions, ConfirmSofortSetupOptions, ConfirmKonbiniPaymentData, ConfirmKonbiniPaymentOptions, ConfirmUsBankAccountPaymentData, CollectBankAccountForPaymentOptions, ConfirmUsBankAccountSetupData, CollectBankAccountForSetupOptions, ConfirmPixPaymentData, ConfirmPixPaymentOptions, PaymentIntentResult, PaymentMethodResult, SetupIntentResult, ProcessOrderResult, RetrieveOrderResult, TokenResult, SourceResult, FinancialConnectionsSessionResult, CollectBankAccountTokenResult, EphemeralKeyNonceResult, RadarSessionPayload, ProcessOrderParams, CollectFinancialConnectionsAccountsOptions, CollectBankAccountTokenOptions, EphemeralKeyNonceOptions, StripeElementsOptionsClientSecret, StripeElementsOptionsMode, ConfirmBlikPaymentData, ConfirmBlikPaymentOptions, ConfirmCashappPaymentData, ConfirmCashappPaymentOptions, PaymentIntentOrSetupIntentResult, CreatePaymentMethodFromElements, CreatePaymentMethodFromElement, ConfirmCashappSetupData, ConfirmCashappSetupOptions, StripeCheckoutOptions, StripeCheckout, StripeEmbeddedCheckoutOptions, StripeEmbeddedCheckout, ConfirmMobilepayPaymentData, ConfirmMobilepayPaymentOptions, CreateConfirmationToken, ConfirmationTokenResult, ConfirmSetupData } from '@stripe/stripe-js';
import { StripeServiceInterface } from '../interfaces/stripe-instance.interface';
import { WindowRef } from './window-ref.service';
import { LazyStripeAPILoader } from './api-loader.service';
import { StripeInstance } from './stripe-instance.class';
import * as i0 from "@angular/core";
export declare class StripeService implements StripeServiceInterface {
    version: string;
    key: string;
    options: StripeConstructorOptions;
    loader: LazyStripeAPILoader;
    window: WindowRef;
    stripe: StripeInstance;
    constructor(version: string, key: string, options: StripeConstructorOptions, loader: LazyStripeAPILoader, window: WindowRef);
    getStripeReference(): Observable<any>;
    getInstance(): Stripe | undefined;
    setKey(key: string, options?: StripeConstructorOptions): StripeInstance;
    changeKey(key: string, options?: StripeConstructorOptions): StripeInstance;
    elements(options?: StripeElementsOptionsClientSecret): Observable<StripeElements>;
    elements(options?: StripeElementsOptionsMode): Observable<StripeElements>;
    elements(options?: StripeElementsOptions): Observable<StripeElements>;
    redirectToCheckout(options: RedirectToCheckoutOptions): Observable<never | {
        error: StripeError;
    }>;
    confirmPayment(options: {
        elements: StripeElements;
        confirmParams?: Partial<ConfirmPaymentData>;
        redirect: 'if_required';
    }): Observable<PaymentIntentResult>;
    confirmPayment(options: {
        elements?: StripeElements;
        clientSecret: string;
        confirmParams?: Partial<ConfirmPaymentData>;
        redirect: 'if_required';
    }): Observable<PaymentIntentResult>;
    confirmPayment(options: {
        elements: StripeElements;
        confirmParams: ConfirmPaymentData;
        redirect?: 'always';
    }): Observable<never | {
        error: StripeError;
    }>;
    confirmPayment(options: {
        elements?: StripeElements;
        clientSecret: string;
        confirmParams: ConfirmPaymentData;
        redirect?: 'always';
    }): Observable<never | {
        error: StripeError;
    }>;
    confirmAcssDebitPayment(clientSecret: string, data?: ConfirmAcssDebitPaymentData, options?: ConfirmAcssDebitPaymentOptions): Observable<PaymentIntentResult>;
    confirmUsBankAccountPayment(clientSecret: string, data?: ConfirmUsBankAccountPaymentData): Observable<PaymentIntentResult>;
    confirmAlipayPayment(clientSecret: string, data?: ConfirmAlipayPaymentData, options?: ConfirmAlipayPaymentOptions): Observable<PaymentIntentResult>;
    confirmAuBecsDebitPayment(clientSecret: string, data?: ConfirmAuBecsDebitPaymentData): Observable<PaymentIntentResult>;
    confirmBancontactPayment(clientSecret: string, data?: ConfirmBancontactPaymentData, options?: ConfirmBancontactPaymentOptions): Observable<PaymentIntentResult>;
    confirmBlikPayment(clientSecret: string, data?: ConfirmBlikPaymentData, options?: ConfirmBlikPaymentOptions): Observable<PaymentIntentResult>;
    confirmBoletoPayment(clientSecret: string, data?: ConfirmBoletoPaymentData, options?: ConfirmBoletoPaymentOptions): Observable<PaymentIntentResult>;
    confirmCardPayment(clientSecret: string, data?: ConfirmCardPaymentData, options?: ConfirmCardPaymentOptions): Observable<PaymentIntentResult>;
    confirmCashappPayment(clientSecret: string, data?: ConfirmCashappPaymentData, options?: ConfirmCashappPaymentOptions): Observable<PaymentIntentResult>;
    confirmCustomerBalancePayment(clientSecret: string, data: ConfirmCustomerBalancePaymentData, options: ConfirmCustomerBalancePaymentOptions): Observable<PaymentIntentResult>;
    confirmEpsPayment(clientSecret: string, data?: ConfirmEpsPaymentData, options?: ConfirmEpsPaymentOptions): Observable<PaymentIntentResult>;
    confirmFpxPayment(clientSecret: string, data?: ConfirmFpxPaymentData, options?: ConfirmFpxPaymentOptions): Observable<PaymentIntentResult>;
    confirmGiropayPayment(clientSecret: string, data?: ConfirmGiropayPaymentData, options?: ConfirmGiropayPaymentOptions): Observable<PaymentIntentResult>;
    confirmGrabPayPayment(clientSecret: string, data?: ConfirmGrabPayPaymentData, options?: ConfirmGrabPayPaymentOptions): Observable<PaymentIntentResult>;
    confirmIdealPayment(clientSecret: string, data?: ConfirmIdealPaymentData, options?: ConfirmIdealPaymentOptions): Observable<PaymentIntentResult>;
    confirmKlarnaPayment(clientSecret: string, data?: ConfirmKlarnaPaymentData, options?: ConfirmKlarnaPaymentOptions): Observable<PaymentIntentResult>;
    confirmKonbiniPayment(clientSecret: string, data?: ConfirmKonbiniPaymentData, options?: ConfirmKonbiniPaymentOptions): Observable<PaymentIntentResult>;
    confirmMobilepayPayment(clientSecret: string, data?: ConfirmMobilepayPaymentData, options?: ConfirmMobilepayPaymentOptions): Observable<PaymentIntentResult>;
    confirmOxxoPayment(clientSecret: string, data?: ConfirmOxxoPaymentData, options?: ConfirmOxxoPaymentOptions): Observable<PaymentIntentResult>;
    confirmP24Payment(clientSecret: string, data?: ConfirmP24PaymentData, options?: ConfirmP24PaymentOptions): Observable<PaymentIntentResult>;
    confirmPayNowPayment(clientSecret: string, data?: ConfirmPayNowPaymentData, options?: ConfirmPayNowPaymentOptions): Observable<PaymentIntentResult>;
    confirmPayPalPayment(clientSecret: string, data?: ConfirmPayPalPaymentData): Observable<PaymentIntentResult>;
    confirmPixPayment(clientSecret: string, data?: ConfirmPixPaymentData, options?: ConfirmPixPaymentOptions): Observable<PaymentIntentResult>;
    confirmPromptPayPayment(clientSecret: string, data?: ConfirmPromptPayPaymentData, options?: ConfirmPromptPayPaymentOptions): Observable<PaymentIntentResult>;
    confirmSepaDebitPayment(clientSecret: string, data?: ConfirmSepaDebitPaymentData): Observable<PaymentIntentResult>;
    confirmSofortPayment(clientSecret: string, data?: ConfirmSofortPaymentData, options?: ConfirmSofortPaymentOptions): Observable<PaymentIntentResult>;
    confirmWechatPayPayment(clientSecret: string, data?: ConfirmWechatPayPaymentData, options?: ConfirmWechatPayPaymentOptions): Observable<PaymentIntentResult>;
    handleCardAction(clientSecret: string): Observable<PaymentIntentResult>;
    handleNextAction(options: {
        clientSecret: string;
    }): Observable<PaymentIntentOrSetupIntentResult>;
    verifyMicrodepositsForPayment(clientSecret: string, data?: VerifyMicrodepositsForPaymentData): Observable<PaymentIntentResult>;
    createRadarSession(): Observable<RadarSessionPayload>;
    collectBankAccountForPayment(options: CollectBankAccountForPaymentOptions): Observable<PaymentIntentResult>;
    createPaymentMethod(paymentMethodData: CreatePaymentMethodData): Observable<PaymentMethodResult>;
    createPaymentMethod(options: CreatePaymentMethodFromElements): Observable<PaymentMethodResult>;
    createPaymentMethod(options: CreatePaymentMethodFromElement): Observable<PaymentMethodResult>;
    createConfirmationToken(options: CreateConfirmationToken): Observable<ConfirmationTokenResult>;
    retrievePaymentIntent(clientSecret: string): Observable<PaymentIntentResult>;
    confirmSetup(options: {
        elements: StripeElements;
        confirmParams?: Partial<ConfirmSetupData>;
        redirect: 'if_required';
    }): Observable<SetupIntentResult>;
    confirmSetup(options: {
        elements?: StripeElements;
        clientSecret: string;
        confirmParams?: Partial<ConfirmSetupData>;
        redirect: 'if_required';
    }): Observable<SetupIntentResult>;
    confirmSetup(options: {
        elements: StripeElements;
        confirmParams: ConfirmSetupData;
        redirect?: 'always';
    }): Observable<never | {
        error: StripeError;
    }>;
    confirmSetup(options: {
        elements?: StripeElements;
        clientSecret: string;
        confirmParams: ConfirmSetupData;
        redirect?: 'always';
    }): Observable<never | {
        error: StripeError;
    }>;
    confirmAcssDebitSetup(clientSecret: string, data?: ConfirmAcssDebitSetupData, options?: ConfirmAcssDebitSetupOptions): Observable<SetupIntentResult>;
    confirmUsBankAccountSetup(clientSecret: string, data?: ConfirmUsBankAccountSetupData): Observable<SetupIntentResult>;
    confirmAuBecsDebitSetup(clientSecret: string, data?: ConfirmAuBecsDebitSetupData): Observable<SetupIntentResult>;
    confirmBacsDebitSetup(clientSecret: string, data?: ConfirmBacsDebitSetupData): Observable<SetupIntentResult>;
    confirmBancontactSetup(clientSecret: string, data?: ConfirmBancontactSetupData): Observable<SetupIntentResult>;
    confirmCardSetup(clientSecret: string, data?: ConfirmCardSetupData, options?: ConfirmCardSetupOptions): Observable<SetupIntentResult>;
    confirmCashappSetup(clientSecret: string, data?: ConfirmCashappSetupData, options?: ConfirmCashappSetupOptions): Observable<SetupIntentResult>;
    confirmIdealSetup(clientSecret: string, data?: ConfirmIdealSetupData): Observable<SetupIntentResult>;
    confirmPayPalSetup(clientSecret: string, data?: ConfirmPayPalSetupData): Observable<SetupIntentResult>;
    confirmSepaDebitSetup(clientSecret: string, data?: ConfirmSepaDebitSetupData): Observable<SetupIntentResult>;
    confirmSofortSetup(clientSecret: string, data?: ConfirmSofortSetupData, options?: ConfirmSofortSetupOptions): Observable<SetupIntentResult>;
    confirmAffirmPayment(clientSecret: string, data?: ConfirmAffirmPaymentData, options?: ConfirmAffirmPaymentOptions): Observable<PaymentIntentResult>;
    confirmAfterpayClearpayPayment(clientSecret: string, data?: ConfirmAfterpayClearpayPaymentData, options?: ConfirmAfterpayClearpayPaymentOptions): Observable<PaymentIntentResult>;
    verifyMicrodepositsForSetup(clientSecret: string, data?: VerifyMicrodepositsForSetupData): Observable<SetupIntentResult>;
    collectBankAccountForSetup(options: CollectBankAccountForSetupOptions): Observable<SetupIntentResult>;
    retrieveSetupIntent(clientSecret: string): Observable<SetupIntentResult>;
    processOrder(options: {
        elements: StripeElements;
        confirmParams?: Partial<ProcessOrderParams>;
        redirect: 'if_required';
    }): Observable<ProcessOrderResult>;
    processOrder(options: {
        elements: StripeElements;
        confirmParams: ProcessOrderParams;
        redirect?: 'always';
    }): Observable<never | {
        error: StripeError;
    }>;
    retrieveOrder(clientSecret: string): Observable<RetrieveOrderResult>;
    paymentRequest(options: PaymentRequestOptions): PaymentRequest;
    createToken(tokenType: StripeIbanElement, data: CreateTokenIbanData): Observable<TokenResult>;
    createToken(tokenType: StripeCardElement | StripeCardNumberElement, data?: CreateTokenCardData): Observable<TokenResult>;
    createToken(tokenType: 'pii', data: CreateTokenPiiData): Observable<TokenResult>;
    createToken(tokenType: 'bank_account', data: CreateTokenBankAccountData): Observable<TokenResult>;
    createToken(tokenType: 'cvc_update', element?: StripeCardCvcElement): Observable<TokenResult>;
    createToken(tokenType: 'account', data: TokenCreateParams.Account): Observable<TokenResult>;
    createToken(tokenType: 'person', data: TokenCreateParams.Person): Observable<TokenResult>;
    createSource(element: StripeElement, sourceData: CreateSourceData): Observable<SourceResult>;
    createSource(sourceData: CreateSourceData): Observable<SourceResult>;
    retrieveSource(source: RetrieveSourceParam): Observable<SourceResult>;
    verifyIdentity(clientSecret: string): Observable<VerificationSessionResult>;
    collectFinancialConnectionsAccounts(options: CollectFinancialConnectionsAccountsOptions): Observable<FinancialConnectionsSessionResult>;
    collectBankAccountToken(options: CollectBankAccountTokenOptions): Observable<CollectBankAccountTokenResult>;
    createEphemeralKeyNonce(options: EphemeralKeyNonceOptions): Observable<EphemeralKeyNonceResult>;
    initCheckout(options: StripeCheckoutOptions): Observable<StripeCheckout>;
    initEmbeddedCheckout(options: StripeEmbeddedCheckoutOptions): Observable<StripeEmbeddedCheckout>;
    /**
     * @deprecated
     */
    handleCardPayment(clientSecret: string, element?: any, data?: any): Observable<PaymentIntentResult>;
    /**
     * @deprecated
     */
    confirmPaymentIntent(clientSecret: string, element?: any, data?: any): Observable<PaymentIntentResult>;
    /**
     * @deprecated
     */
    handleCardSetup(clientSecret: string, element?: any, data?: any): Observable<SetupIntentResult>;
    /**
     * @deprecated
     */
    confirmSetupIntent(clientSecret: string, element?: any, data?: any): Observable<SetupIntentResult>;
    /**
     * @deprecated
     */
    handleFpxPayment(clientSecret: string, element?: any, data?: any): Observable<SetupIntentResult>;
    static ɵfac: i0.ɵɵFactoryDeclaration<StripeService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<StripeService>;
}
