export interface FormatCurrencyOptions<T extends string = string> {
    prefix?: T;
    precision?: number;
    zeroDisplay?: string;
    format?: Intl.NumberFormatOptions;
}
export declare function formatCurrency(currencyValue: number, options?: FormatCurrencyOptions): string;
/**
 * Converts token amount to formatted currency string
 * @param amount The amount of token
 * @param price The price of token in currency
 * @param options Formatting options
 */
export declare function calculateTokenValueInCurrency(amount: number, price: number, options?: FormatCurrencyOptions): string;
/**
 * Limits the number of decimal places of a given number to a specified maximum.
 *
 * @param value The original number that you want to limit the decimal places for.
 * @param maxDecimals The maximum number of decimal places that the result should have.
 * @returns The number rounded to the specified number of decimal places.
 *
 * @example
 * maxDecimals(3.14159, 2);         // returns 3.14
 * maxDecimals(1.005, 2);           // returns 1.01
 * maxDecimals(10, 0);              // returns 10
 * maxDecimals(0.00010000, 8);      // returns 0.0001
 * maxDecimals(0.00010000, 8);      // returns 0.0001
 * maxDecimals(3.141, 3);           // returns 3.141
 * maxDecimals(3.149, 3);           // returns 3.149
 */
export declare const maxDecimals: (value: number, maxDecimals: number, rm?: number) => number;
/**
 * Converts a string to kebab-case for use as unique or semantic keys.
 *
 * @param str The input string to convert.
 * @returns The kebab-case version of the input string.
 */
export declare const toKebabCase: (str: string) => string;
/**
 * Creates a generic balance formatter function for cryptocurrency amounts
 * @param coinSymbol The symbol of the cryptocurrency (e.g., 'BTC', 'ETH', 'BABY')
 * @param decimals Number of decimal places to display
 * @returns A formatter function that takes an amount and returns formatted string
 */
export declare function createBalanceFormatter(coinSymbol: string, decimals?: number): (amount: number) => string;
/**
 * Formats a number with comma separators
 * @param value The number to format
 * @param decimals Maximum number of decimal places to display (default: 8)
 * @returns Formatted string with commas
 * @example
 * formatAmount(1234.5678, 2) // "1,234.57"
 * formatAmount(1000000, 8) // "1,000,000"
 */
export declare function formatAmount(value: number, decimals?: number): string;
/**
 * Parses a formatted number string (with commas) to a number
 * @param value The formatted string to parse
 * @returns The parsed number, or 0 if invalid
 * @example
 * parseAmount("1,234.56") // 1234.56
 * parseAmount("1,000,000") // 1000000
 * parseAmount("") // 0
 */
export declare function parseAmount(value: string): number;
/**
 * Sanitizes a raw input string for numeric decimal fields.
 * Replaces commas with dots (for locales that use comma as decimal separator)
 * and rejects any characters that are not digits or a single dot.
 *
 * @param value The raw input string to sanitize
 * @returns The sanitized string with dots as decimal separator, or undefined if the input is invalid
 *
 * @example
 * sanitizeNumericInput("0,5")    // "0.5"
 * sanitizeNumericInput("12.34")  // "12.34"
 * sanitizeNumericInput("abc")    // undefined
 * sanitizeNumericInput("")       // ""
 */
export declare function sanitizeNumericInput(value: string): string | undefined;
