/** * Vietnamese (Vietnam) language converter * * CLDR: vi-VN | Vietnamese as used in Vietnam * * Vietnamese-specific rules: * - Special pronunciation: "lăm" for 5 in tens position, "mốt" for final 1 * - "Lẻ" (odd/extra) marker when tens place is zero after hundreds/scales * - Short scale system with Vietnamese words (nghìn, triệu, tỷ) */ export declare const cardinalMax: bigint; export declare const ordinalMax: bigint; export declare const currencyMax: bigint; /** * Converts a numeric value to Vietnamese 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 Vietnamese words * @throws {TypeError} If value is not a valid numeric type * @throws {Error} If value is not a valid number format * @example * toCardinal(42) // 'bốn mươi hai' * toCardinal(101) // 'một trăm lẻ một' * toCardinal(1000000) // 'một triệu' */ declare function toCardinal(value: number | string | bigint): string; /** * Converts a numeric value to Vietnamese 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) // 'thứ nhất' * toOrdinal(2) // 'thứ hai' * toOrdinal(10) // 'thứ mười' */ declare function toOrdinal(value: number | string | bigint): string; export type CurrencyOptions = { /** * - ISO 4217 currency code to name the amount in */ currency?: import('./utils/currency-vocab.js').ViCurrency; }; /** * @typedef {object} CurrencyOptions * @property {import('./utils/currency-vocab.js').ViCurrency} [currency] - ISO 4217 currency code to name the amount in */ /** @type {Required} */ export declare const currencyDefaults: Required; /** @type {{ currency: ReadonlyArray['currency']> }} */ export declare const currencyValues: { currency: ReadonlyArray['currency']>; }; /** * Converts a numeric value to Vietnamese currency words (Dong). * * Vietnamese Dong has no everyday subunit (xu are historical) — a * fractional amount throws RangeError rather than being silently rounded * away. * @param {number | string | bigint} value - The currency amount to convert * @param {CurrencyOptions} [options] - Optional configuration * @returns {string} The amount in Vietnamese currency words * @throws {TypeError} If value is not a valid numeric type * @throws {RangeError} If value is not a valid number format, or has a fractional part * @example * toCurrency(42) // 'bốn mươi hai đồng' * toCurrency(1000) // 'một nghìn đồng' * toCurrency(-5) // 'âm năm đồng' */ declare function toCurrency(value: number | string | bigint, options?: CurrencyOptions): string; export { toCardinal, toOrdinal, toCurrency };