/** * Converts a numeric value to Ukrainian words. * * @param {number | string | bigint} value - The numeric value to convert * @param {Object} [options] - Optional configuration * @param {('masculine'|'feminine')} [options.gender='masculine'] - Grammatical gender * @returns {string} The number in Ukrainian words */ export function toCardinal(value: number | string | bigint, options?: { gender?: "masculine" | "feminine" | undefined; }): string; /** * Converts a numeric value to Ukrainian ordinal words (masculine nominative). * * @param {number | string | bigint} value - The numeric value to convert (must be a 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(2) // 'другий' * toOrdinal(21) // 'двадцять перший' * toOrdinal(100) // 'сотий' * toOrdinal(1000) // 'тисячний' */ export function toOrdinal(value: number | string | bigint): string; /** * Converts a numeric value to Ukrainian currency words (Hryvnia). * * @param {number | string | bigint} value - The currency amount to convert * @returns {string} The amount in Ukrainian 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) // 'сорок двi гривнi' * toCurrency(1) // 'одна гривня' * toCurrency(1.50) // 'одна гривня п\'ятдесят копiйок' * toCurrency(-5) // 'мiнус п\'ять гривень' */ export function toCurrency(value: number | string | bigint): string;