/** * Converts a numeric value to Portuguese 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 Portuguese words * @throws {TypeError} If value is not a valid numeric type * @throws {Error} If value is not a valid number format * * @example * toCardinal(21) // 'vinte e um' * toCardinal(100) // 'cem' * toCardinal(1000000) // 'um milhão' */ export function toCardinal(value: number | string | bigint): string; /** * Converts a number to Portuguese ordinal words. * * @param {number | string | bigint} value - The number to convert * @returns {string} Portuguese ordinal words * * @example * toOrdinal(1) // 'primeiro' * toOrdinal(21) // 'vigésimo primeiro' * toOrdinal(100) // 'centésimo' */ export function toOrdinal(value: number | string | bigint): string; /** * Converts a number to Portuguese currency words (Euro). * * @param {number | string | bigint} value - The amount to convert * @param {Object} [options] * @param {boolean} [options.and=true] - Include "e" between euros and cents * @returns {string} Portuguese currency words * * @example * toCurrency(42.50) // 'quarenta e dois euros e cinquenta cêntimos' * toCurrency(1) // 'um euro' * toCurrency(0.01) // 'um cêntimo' */ export function toCurrency(value: number | string | bigint, options?: { and?: boolean | undefined; }): string;