export interface FormatCurrencyOptions { 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;