/** * Indonesian (Indonesia) language converter * * CLDR: id-ID | Indonesian as used in Indonesia * * Key features: * - "Se-" prefix for 100 (seratus) and 1000 (seribu) * - Regular patterns (puluh for tens, ratus for hundreds) * - Teens with "belas" suffix * - Indonesian uses "satu juta" (not "sejuta") for millions+ */ export declare const cardinalMax: bigint; export declare const ordinalMax: bigint; export declare const currencyMax: bigint; /** * Converts a numeric value to Indonesian words. * @param {number | string | bigint} value - The numeric value to convert * @returns {string} The number in Indonesian words */ declare function toCardinal(value: number | string | bigint): string; /** * Converts a numeric value to Indonesian 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) // 'pertama' * toOrdinal(2) // 'kedua' * toOrdinal(10) // 'kesepuluh' */ declare function toOrdinal(value: number | string | bigint): string; export type CurrencyOptions = { /** * - ISO 4217 code: native IDR, else DisplayNames/home-minor fallback (see currency-fallback.js) */ currency?: string; }; /** * @typedef {object} CurrencyOptions * @property {string} [currency] - ISO 4217 code: native IDR, else DisplayNames/home-minor fallback (see currency-fallback.js) */ /** @type {Required} */ export declare const currencyDefaults: Required; /** * Open set on purpose: no `currency` key, so `resolveOptions` accepts any * ISO 4217 code and the lookup below falls back past the native matrix. * Kept as an (empty) export so re-exporters (`id.js`), the CLI help and the * docs generators keep a stable binding to read. */ export declare const currencyValues: {}; /** * Converts a numeric value to Indonesian currency words (Rupiah). * * Indonesian Rupiah has no everyday minor unit (sen 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 Indonesian 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) // 'empat puluh dua rupiah' * toCurrency(1000) // 'seribu rupiah' * toCurrency(-5) // 'min lima rupiah' */ declare function toCurrency(value: number | string | bigint, options?: CurrencyOptions): string; export { toCardinal, toOrdinal, toCurrency };