/// <reference types="react" />
import { UserInputType } from "../../hooks/useNumericInput";
import { type SwapDirection } from "../../types/components";
import { type TooltipProps } from "./Tooltip";
export interface Token {
    price: number;
    symbol: string;
    decimals: number;
}
export interface NumericInputProps {
    token: Token;
    onAmountChange: (tokenAmount: string) => void;
    forcedAmount?: string;
    formatIfVerySmall?: {
        token: string;
        usd: string;
    };
    balance?: string;
    inputModeButton?: {
        usdModeTooltip?: Omit<TooltipProps, "children">;
        tokenModeTooltip?: Omit<TooltipProps, "children">;
        amountUsd?: string;
    };
    maxUsdDecimals?: number;
    balanceButton?: {
        tooltip?: Omit<TooltipProps, "children">;
        hideMaxChip?: boolean;
    };
    debounceInput?: boolean;
    initialInputMode?: UserInputType;
    customSymbol?: string;
    hideControls?: boolean;
    hideBalance?: boolean;
    containerClassName?: string;
    inputClassName?: string;
}
export interface Props extends NumericInputProps, React.InputHTMLAttributes<HTMLInputElement> {
    direction?: SwapDirection;
    showDetails?: boolean;
    isLoading?: boolean;
    isInteractive?: boolean;
    priceImpactPercentage?: string;
    criticalPriceImpactPercentage?: number;
    error?: {
        message: string;
    };
}
export declare function NumericInput({ priceImpactPercentage, balance, error, criticalPriceImpactPercentage, token, onAmountChange, forcedAmount, maxUsdDecimals, formatIfVerySmall, showDetails, isLoading, direction, inputModeButton, isInteractive, balanceButton, debounceInput, initialInputMode, customSymbol, hideControls, hideBalance, containerClassName, inputClassName, ...props }: Props): import("react/jsx-runtime").JSX.Element;
