/** * Converts a numeric value to Japanese words. * * This is the main public API. It accepts any valid numeric input * (number, string, or bigint) and handles parsing internally. * * @param {number | string | bigint} value - The numeric value to convert * @returns {string} The number in Japanese kanji words * @throws {TypeError} If value is not a valid numeric type * @throws {Error} If value is not a valid number format * * @example * toCardinal(42) // '四十二' * toCardinal(10000) // '一万' * toCardinal(100000000) // '一億' */ export function toCardinal(value: number | string | bigint): string; /** * Converts a numeric value to Japanese ordinal words. * * @param {number | string | bigint} value - The numeric value to convert (positive integer) * @returns {string} The number as ordinal words * @throws {TypeError} If value is not a valid numeric type * @throws {RangeError} If value is negative, zero, or has a decimal part * * @example * toOrdinal(1) // '第一' * toOrdinal(10) // '第十' * toOrdinal(100) // '第百' */ export function toOrdinal(value: number | string | bigint): string; /** * Converts a numeric value to Japanese currency words (Yen). * * Note: Sen (銭, 1/100 yen) is included for completeness but is rarely used * in modern Japan. Most transactions are in whole yen. * * @param {number | string | bigint} value - The currency amount to convert * @returns {string} The amount in Japanese currency words * @throws {TypeError} If value is not a valid numeric type * @throws {Error} If value is not a valid number format * * @example * toCurrency(42) // '四十二円' * toCurrency(1) // '一円' * toCurrency(0.50) // '五十銭' * toCurrency(42.50) // '四十二円五十銭' */ export function toCurrency(value: number | string | bigint): string;