import React, { type ReactNode } from 'react';
import { PaymentMethod, type PaymentMethodBrokerageInfo, type PaymentMethodVirtualBankInfo } from '../../domains/paymentMethods';
export declare const getDynamicValueIconComponent: () => React.JSX.Element;
export declare function PaymentMethodIcon({ paymentIcon, keyIconSize, }: {
    paymentIcon: ReactNode;
    keyIconSize: number;
}): React.JSX.Element;
interface ConnectedMeshPaymentMethodItemProps {
    paymentMethodInfo: PaymentMethodBrokerageInfo;
    isSelected: boolean;
    onSelect: () => void;
    onBrokerageError?: () => void;
    targetChainId: string;
}
/** it is different from BrokeragePaymentMethodItem
 * this component is for connected mesh brokerage like robinhood
 * the other one is for connecting new brokerage button
 * */
export declare const ConnectedMeshPaymentMethodItem: ({ paymentMethodInfo, isSelected, onSelect, onBrokerageError, targetChainId, }: ConnectedMeshPaymentMethodItemProps) => React.JSX.Element;
export declare const AccountBalancePaymentMethodItem: ({ isActive, customValueIcon, onClick, targetChainId, }: BasePaymentMethodItemProps & {
    targetChainId: string;
}) => React.JSX.Element;
export declare const ActiveFiatAccountPaymentMethodItem: ({ isActive, onClick, paymentMethodInfo, customValueIcon, }: BasePaymentMethodItemProps & {
    paymentMethodInfo: PaymentMethodVirtualBankInfo;
}) => React.JSX.Element;
type BasePaymentMethodItemProps = {
    isActive: boolean;
    onClick: () => void;
    isClickable?: boolean;
    customValueIcon?: ReactNode;
};
export declare function AddPaymentMethodItem({ paymentMethod, isClickable, isActive, onClick, customValueIcon, }: BasePaymentMethodItemProps & {
    paymentMethod: PaymentMethod;
    dynamicLimit?: string;
}): React.JSX.Element | undefined;
export {};
