import React from 'react';
import { type ConnectablePaymentMethodInfo, PaymentMethod, type PaymentMethodCardInfo, type PaymentMethodVirtualBankIncompleteInfo } from '~/domains/paymentMethods';
import { type CheckoutModalCommonState, FunCheckoutStep, type ModalStepComponentProps, type ModalStepInfo } from '../stepTransition';
export type SourceChangeState = CheckoutModalCommonState & {
    paymentMethodInfo: ConnectablePaymentMethodInfo | null;
};
export type SourceChangeNext = {
    connectNew: false;
    paymentMethodInfo: ConnectablePaymentMethodInfo;
    brokerageFailed: false;
} | {
    connectNew: true;
    paymentMethod: Exclude<PaymentMethod, PaymentMethod.CARD | PaymentMethod.VIRTUAL_BANK>;
    brokerageFailed: false;
} | {
    connectNew: true;
    paymentMethod: PaymentMethod.VIRTUAL_BANK;
    paymentMethodInfo: PaymentMethodVirtualBankIncompleteInfo;
    brokerageFailed: false;
} | {
    connectNew: true;
    paymentMethod: PaymentMethod.CARD;
    paymentMethodInfo: PaymentMethodCardInfo;
    brokerageFailed: false;
} | {
    brokerageFailed: true;
    paymentMethodInfo: ConnectablePaymentMethodInfo;
};
export declare const SourceChangeInfo: ModalStepInfo<FunCheckoutStep.SOURCE_CHANGE>;
export declare function SourceChange({ modalState, onNext, onClose, setModalState, }: ModalStepComponentProps<FunCheckoutStep.SOURCE_CHANGE>): React.JSX.Element;
