import { type ChangeEvent } from "react";
import { type Token } from "../components/controls/NumericInput";
export declare enum UserInputType {
    TOKEN = 0,
    USD = 1
}
interface UseNumericInputOptions {
    token: Pick<Token, "decimals" | "price">;
    onAmountChange: (tokenAmount: string) => void;
    forcedAmount?: string;
    formatIfVerySmall: {
        token: string;
        usd: string;
    };
    balance: string;
    inputModeButton?: {
        amountUsd?: string;
    };
    maxUsdDecimals?: number;
    debounceInput?: boolean;
    direction?: "from" | "to";
    initialInputMode?: UserInputType;
}
export declare function useNumericInput({ onAmountChange, token, balance, debounceInput, forcedAmount, formatIfVerySmall, inputModeButton, maxUsdDecimals, direction, initialInputMode, }: UseNumericInputOptions): {
    userInputType: UserInputType;
    inputValue: string;
    handleInputChange: (e: ChangeEvent<HTMLInputElement>) => void;
    handleSwitchInputMode: () => void;
    isTokenAmountVerySmall: boolean;
    isUsdAmountVerySmall: boolean;
    amountFormatted: string;
    onBalanceButtonClick: () => void;
    balanceFormatted: string;
};
export {};
