import type { Dnum } from 'dnum';
import { type RefObject } from 'react';
import type { FunInputChangeEvent } from '../../../components/FunInput/FunInput';
import { type AmountInputDerivedState, type AmountInputInitOptions } from './state';
import { type InputAmountSuggestion } from './utils';
export interface UseAmountInputResult extends AmountInputDerivedState {
    fontSize: number;
    inputHeight: number;
    inputWidth: number | undefined;
    onChange(event: FunInputChangeEvent): void;
    ref: RefObject<HTMLInputElement | null>;
    setAssetAmount(assetAmount: number): AmountInputDerivedState;
    setFiatAmount(usdAmount: number): AmountInputDerivedState;
    setTokenAmount(tokenAmountBaseUnit: Dnum, frozenUnitPrice: number): AmountInputDerivedState;
    /** Possible user action to recover from the current error */
    suggestion: InputAmountSuggestion | undefined;
    toggleInputInFiat: () => void;
}
export declare function useAmountInput(options: AmountInputInitOptions): UseAmountInputResult;
