import type { MeldQuote, MeldServiceProvider } from '@funkit/api-base';
import React from 'react';
import type { Hex } from 'viem';
import { type PaymentMethodInfo } from '../../../domains/paymentMethods';
import { type CheckoutModalCommonState, FunCheckoutStep, type ModalStepComponentProps, type ModalStepInfo } from '../stepTransition';
export type InputAmountState = CheckoutModalCommonState & {
    paymentMethodInfo: PaymentMethodInfo;
    fiatAmount?: number;
    fiatCurrency?: string;
    quote?: MeldQuote;
    isInputInFiat?: boolean;
    /** Preserved token amount from a previous visit (source of truth in EXACT_IN) */
    assetAmount?: number;
    /** Source token identifier — used to detect asset changes and discard stale values */
    sourceTokenKey?: string;
};
export type InputAmountNext = Record<string, never> | {
    fiatAmount: number | undefined;
    fiatCurrency?: string;
    provider?: MeldServiceProvider;
    quote?: MeldQuote;
    nextStep?: FunCheckoutStep.SOURCE_CHANGE | FunCheckoutStep.MELD_CURRENCY_SELECT | FunCheckoutStep.MELD_QUOTES | FunCheckoutStep.MELD_REDIRECT;
} | {
    nextStep: FunCheckoutStep.CHECKOUT_COMPLETE;
    txHash: Hex;
};
export declare const InputAmountInfo: ModalStepInfo<FunCheckoutStep.INPUT_AMOUNT>;
export declare function InputAmount(props: ModalStepComponentProps<FunCheckoutStep.INPUT_AMOUNT>): React.JSX.Element;
