/**
 * Parses a value to a bigint
 * @param value - The value to parse
 * @param decimals - The number of decimals
 * @returns The parsed bigint
 * @throws Error if parsing fails
 */
export declare const parseToBigInt: (value: string, decimals?: number) => bigint;
/**
 * Formats a value to a readable string
 * @param value - The value to format (bigint or string)
 * @param decimals - The number of decimals
 * @returns The formatted string
 * @throws Error if formatting fails
 */
export declare const formatBNToReadable: (value: bigint | string, decimals?: number) => string;
export declare const roundNumericValue: (value?: string, precision?: number, useComaEvery3Digits?: boolean, significantFigures?: number) => string;
export declare function formatUnitsRounded(value: string, decimals: string | number | undefined, maxDecimalDigits?: number): string;
interface FormatTokenAmountOptions {
    /**
     * When set to true, formats `amount` to its exact value, without any rounding.
     */
    exact?: boolean;
    /**
     * When set to true, formats `amount` to a compact value.
     * Useful for cases where precision isn't needed, just a rough estimate.
     */
    simplified?: boolean;
    /**
     * When set to true, formats `amount` to a compact notation (e.g., "1.2K", "3.4M").
     * Useful for very limited space displays.
     */
    compact?: boolean;
}
export declare function formatTokenAmount(amount: string, { exact, simplified, compact, }?: FormatTokenAmountOptions): string;
interface FormatUsdAmountOptions {
    /**
     * When set to true, `amount` will be prefixed with a dollar sign ($)
     */
    includeSign?: boolean;
    /**
     * If amount is above the threshold, uses 2 decimal places.
     *
     * If amount is below the threshold, uses a minimum of 2 decimal places
     * and a maximum of 5 decimal places.
     * If there are more decimal places than the maximum, will round the extra decimals.
     */
    decimalPrecision?: boolean;
}
export declare function formatUsdAmount(amount?: number | bigint | string, { includeSign, decimalPrecision }?: FormatUsdAmountOptions): string;
export declare function trimExtraDecimals(value: string, maxDecimals?: number): string;
interface Currency {
    symbol?: string;
    symbolPosition: "before" | "after";
}
interface Props {
    value?: string;
    precision?: number;
    useComaEvery3Digits?: boolean;
    hideIfZero?: boolean;
    formatIfVerySmall?: number;
    currency?: Currency;
    significantFigures?: number;
    wrapInParens?: boolean;
    isNegative?: boolean;
}
export declare const getNumericValue: ({ value, precision, useComaEvery3Digits, hideIfZero, currency, significantFigures, formatIfVerySmall, wrapInParens, isNegative, }: Props) => string | null;
export {};
