import { a as OtherLocaleId, i as LocaleId, n as LatinLocaleId, o as TransliterationTable, r as Locale, t as CyrillicLocaleId } from "./shared/types-B3EVWvDh.mjs"; //#region src/transliterate/core.d.ts /** Options for `transliterate`. */ interface TransliterateOptions { /** Language rules consulted before the tables. */ readonly locale?: Locale; /** Extra script tables, consulted before the Latin and symbol defaults. */ readonly tables?: readonly TransliterationTable[]; /** What happens to characters no table covers; `"keep"` by default. */ readonly unknown?: "keep" | "drop"; /** Folds compatibility characters first (ligatures, superscripts, circled digits), as `slugify` does; `false` by default. */ readonly nfkc?: boolean; } /** The tables every call consults last: `latin`, then `symbols`. */ export declare const DEFAULT_TABLES: readonly TransliterationTable[]; type Sequences = ReadonlyArray; interface CompiledTables { readonly map: ReadonlyMap; readonly sequences: Sequences; readonly ascii: RegExp | undefined; readonly folded: Map; } /** The table list a `transliterate` call would consult, in lookup order. */ export declare function resolveTables(options: TransliterateOptions): readonly TransliterationTable[]; /** The first table value for `key`, or `undefined`. */ export declare function lookup(tables: readonly TransliterationTable[], key: string): string | undefined; /** Removes combining marks: `"é"` becomes `"e"`, `"ǿ"` becomes `"ø"`. */ export declare function stripMarks(input: string): string; /** The transliteration core: applies `tables` to NFC text, folding marks unless told not to. */ export declare function fold(input: string, tables: readonly TransliterationTable[] | CompiledTables, dropUnknown: boolean, foldMarks?: boolean): string; /** Replaces non-ASCII letters with ASCII from the tables and the mark-stripping fallback. Characters no table knows are kept whole, marks included, or dropped with `unknown: "drop"`. */ export declare function transliterate(input: string, options?: TransliterateOptions): string; //#endregion //#region src/transliterate/arabic.d.ts /** Arabic letters to Latin; short vowels are marks and fall away. */ export declare const arabic: TransliterationTable; /** Persian letters that differ from Arabic: `پ چ ژ گ` and the Persian yeh and kaf. */ export declare const persian: TransliterationTable; /** Urdu letters that differ from Arabic: `ٹ ڈ ڑ ں ے`. */ export declare const urdu: TransliterationTable; /** Pashto letters that differ from Arabic: `ټ ډ ړ ږ ښ ڼ`. */ export declare const pashto: TransliterationTable; //#endregion //#region src/transliterate/armenian.d.ts /** Armenian to Latin; `ե` and `ո` take their word-initial spelling on the capital. */ export declare const armenian: TransliterationTable; //#endregion //#region src/transliterate/cyrillic.d.ts /** Cyrillic to Latin, the simov/slugify values, covering Russian, Kazakh, Belarusian and the other national alphabets. */ export declare const cyrillic: TransliterationTable; /** Ukrainian refinements: `г` is `h`, `и` is `y`, `є ї й ю я` take their word-initial spelling on the capital. */ export declare const cyrillicUk: TransliterationTable; /** Bulgarian refinements: `щ` is `sht`, `ъ` is `a`. */ export declare const cyrillicBg: TransliterationTable; /** Macedonian refinements: `ѓ ќ ѕ џ љ њ`. */ export declare const cyrillicMk: TransliterationTable; /** Serbian refinements: `ђ ћ џ љ њ`, `х` is `h`. */ export declare const cyrillicSr: TransliterationTable; //#endregion //#region src/transliterate/define.d.ts /** What `defineLocale` may change; every field is optional. */ interface LocaleOverrides { /** Replaces the base id, such as `"de-CH"`. */ readonly id?: string; /** Merged over the base table; later keys win. */ readonly table?: TransliterationTable; /** Replaces the base script tables. */ readonly tables?: readonly TransliterationTable[]; /** Replaces the base lowercasing function. */ readonly lowercase?: (input: string) => string; } /** One table from many; later tables win. Returns a new object. */ export declare function mergeTables(...tables: readonly TransliterationTable[]): TransliterationTable; /** A new locale from `base` with `overrides` merged in; neither object is mutated. */ export declare function defineLocale(base: Locale, overrides?: LocaleOverrides): Locale; //#endregion //#region src/transliterate/devanagari.d.ts /** Devanagari (Hindi, Marathi, Nepali) to Latin without diacritics: consonants carry their inherent `a` unless a vowel sign or virama follows; vowel length is not marked and no schwa deletion is applied, so `भारत` is `bharata`. */ export declare const devanagari: TransliterationTable; //#endregion //#region src/transliterate/bengali.d.ts /** Bengali to Latin without diacritics, syllable by syllable like the Devanagari table: inherent `a`, no vowel length, no schwa deletion. */ export declare const bengali: TransliterationTable; //#endregion //#region src/transliterate/gujarati.d.ts /** Gujarati to Latin without diacritics, syllable by syllable like the Devanagari table: inherent `a`, no vowel length, no schwa deletion. */ export declare const gujarati: TransliterationTable; //#endregion //#region src/transliterate/gurmukhi.d.ts /** Gurmukhi to Latin without diacritics, syllable by syllable like the Devanagari table: inherent `a`, no vowel length, no schwa deletion. */ export declare const gurmukhi: TransliterationTable; //#endregion //#region src/transliterate/kannada.d.ts /** Kannada to Latin without diacritics, syllable by syllable like the Devanagari table: inherent `a`, no vowel length, no schwa deletion. */ export declare const kannada: TransliterationTable; //#endregion //#region src/transliterate/malayalam.d.ts /** Malayalam to Latin without diacritics, syllable by syllable like the Devanagari table: inherent `a`, no vowel length, no schwa deletion. */ export declare const malayalam: TransliterationTable; //#endregion //#region src/transliterate/oriya.d.ts /** Oriya to Latin without diacritics, syllable by syllable like the Devanagari table: inherent `a`, no vowel length, no schwa deletion. */ export declare const oriya: TransliterationTable; //#endregion //#region src/transliterate/tamil.d.ts /** Tamil to Latin without diacritics, syllable by syllable like the Devanagari table: inherent `a`, no vowel length, no schwa deletion. */ export declare const tamil: TransliterationTable; //#endregion //#region src/transliterate/telugu.d.ts /** Telugu to Latin without diacritics, syllable by syllable like the Devanagari table: inherent `a`, no vowel length, no schwa deletion. */ export declare const telugu: TransliterationTable; //#endregion //#region src/transliterate/dhivehi.d.ts /** Thaana (Dhivehi) to Latin, the sindresorhus/transliterate values. */ export declare const dhivehi: TransliterationTable; //#endregion //#region src/transliterate/georgian.d.ts /** Georgian Mkhedruli to Latin. */ export declare const georgian: TransliterationTable; //#endregion //#region src/transliterate/greek.d.ts /** Modern Greek to Latin: `η` and `ι` are `i`, `β` is `v`, `θ` is `th`. */ export declare const greek: TransliterationTable; //#endregion //#region src/transliterate/hangul.d.ts /** Hangul jamo to Revised Romanization, jamo by jamo; precomposed syllables reach it through NFD, with no sound-change rules across syllables. */ export declare const hangul: TransliterationTable; //#endregion //#region src/transliterate/hebrew.d.ts /** Hebrew consonants to Latin, final forms and Yiddish ligatures included; vowel points fall away. */ export declare const hebrew: TransliterationTable; //#endregion //#region src/transliterate/kana.d.ts /** Hiragana and katakana to Hepburn, digraphs and foreign-sound combinations included; the long-vowel mark and sokuon are dropped, kanji is left alone. */ export declare const kana: TransliterationTable; //#endregion //#region src/transliterate/latin.d.ts /** Latin letters with no decomposition (`ß`, `Æ`, `Ł`, `Þ`, `Ə`, ...) and the modifier letters that are dropped. */ export declare const latin: TransliterationTable; //#endregion //#region src/transliterate/locales-cyrillic.d.ts /** Russian: the Cyrillic table, `&` becomes `i`. */ export declare const ru: Locale; /** Ukrainian: the Ukrainian overlay on the Cyrillic table, `&` becomes `ta`. */ export declare const uk: Locale; /** Bulgarian: the Bulgarian overlay on the Cyrillic table, `&` becomes `i`. */ export declare const bg: Locale; /** Macedonian: the Macedonian overlay on the Cyrillic table, `&` becomes `i`. */ export declare const mk: Locale; /** Serbian: the Serbian overlay on the Cyrillic table, Latin `đ` becomes `dj`, `&` becomes `i`. */ export declare const sr: Locale; /** Kazakh: the Cyrillic table, `&` becomes `zhane`. */ export declare const kk: Locale; /** Belarusian: the Cyrillic table, `&` becomes `i`. */ export declare const be: Locale; /** The Cyrillic-script locales by id. */ export declare const cyrillicLocales: Readonly>; //#endregion //#region src/transliterate/locales-other.d.ts /** Greek: the Greek table, `&` becomes `kai`. */ export declare const el: Locale; /** Hindi: the Devanagari table, `&` becomes `aur`. */ export declare const hi: Locale; /** Hebrew: the Hebrew table, `&` becomes `ve`. */ export declare const he: Locale; /** Japanese: the kana table, `&` becomes `to`; kanji is left alone. */ export declare const ja: Locale; /** Korean: the Hangul table, `&` becomes `mit`. */ export declare const ko: Locale; /** Bengali: the bengali table, `&` becomes `ebong`. */ export declare const bn: Locale; /** Punjabi: the gurmukhi table, `&` becomes `ate`. */ export declare const pa: Locale; /** Gujarati: the gujarati table, `&` becomes `ane`. */ export declare const gu: Locale; /** Odia: the oriya table, `&` becomes `o`. */ export declare const or: Locale; /** Tamil: the tamil table, `&` becomes `matrum`. */ export declare const ta: Locale; /** Telugu: the telugu table, `&` becomes `mariyu`. */ export declare const te: Locale; /** Kannada: the kannada table, `&` becomes `mattu`. */ export declare const kn: Locale; /** Malayalam: the malayalam table, `&` becomes `um`. */ export declare const ml: Locale; /** The locales that carry a non-Latin, non-Cyrillic script table, by id. */ export declare const otherLocales: Readonly>; //#endregion //#region src/transliterate/locales-latin.d.ts /** German: `ä ö ü` become `ae oe ue`, `ß` becomes `ss`, `&` becomes `und`. */ export declare const de: Locale; /** Turkish: dotted and dotless i, `ğ ş ç ö ü` stripped, `&` becomes `ve`; lowercases with the Turkish rules. */ export declare const tr: Locale; /** Azerbaijani: the Turkish letters plus `ə`, `&` becomes `ve`. */ export declare const az: Locale; /** Danish: `ø å æ` become `oe aa ae`, `&` becomes `og`. */ export declare const da: Locale; /** Norwegian Bokmål: `ø å æ` become `oe aa ae`, `&` becomes `og`. */ export declare const nb: Locale; /** Swedish: `ä ö å` become `ae oe aa`, `&` becomes `och`. */ export declare const sv: Locale; /** Finnish: `ä ö å` become `ae oe aa`, `&` becomes `ja`. */ export declare const fi: Locale; /** Hungarian: `&` becomes `es`. */ export declare const hu: Locale; /** Vietnamese: `đ` becomes `d`, `&` becomes `va`. */ export declare const vi: Locale; /** Spanish: `ñ` becomes `n`, `&` becomes `y`. */ export declare const es: Locale; /** French: `œ æ` become `oe ae`, `&` becomes `et`. */ export declare const fr: Locale; /** Portuguese: `&` becomes `e`. */ export declare const pt: Locale; /** Italian: `&` becomes `e`. */ export declare const it: Locale; /** Dutch: `ij` becomes `ij`, `&` becomes `en`. */ export declare const nl: Locale; /** Polish: `&` becomes `i`. */ export declare const pl: Locale; /** Romanian: `&` becomes `si`. */ export declare const ro: Locale; /** Czech: `&` becomes `a`. */ export declare const cs: Locale; /** Slovak: `&` becomes `a`. */ export declare const sk: Locale; /** Slovenian: `&` becomes `in`. */ export declare const sl: Locale; /** Croatian: `&` becomes `i`. */ export declare const hr: Locale; /** Icelandic: `þ ð` become `th d`, `&` becomes `og`. */ export declare const is: Locale; /** Estonian: `&` becomes `ja`. */ export declare const et: Locale; /** Latvian: `&` becomes `un`. */ export declare const lv: Locale; /** Lithuanian: `&` becomes `ir`. */ export declare const lt: Locale; /** Catalan: the punt volat in `l·l` is dropped, `&` becomes `i`. */ export declare const ca: Locale; /** The Latin-script locales by id; these ship with the main entry. */ export declare const latinLocales: Readonly>; //#endregion //#region src/transliterate/registry.d.ts /** Makes `slugify` accept each locale's `id` as a string, for locales whose tables do not ship with the main entry (`registerLocale(ru, uk)`). Later registrations win. */ export declare function registerLocale(...locales: readonly Locale[]): void; /** Removes a locale registered with `registerLocale`; the built-in Latin ids cannot be removed. */ export declare function unregisterLocale(id: string): boolean; /** The locale registered under `id`, if any. */ export declare function registeredLocale(id: string): Locale | undefined; //#endregion //#region src/transliterate/symbols.d.ts /** Symbols spelled out in English (`&`, `©`, currency signs) or turned into separators (dashes, quotes, bullets). */ export declare const symbols: TransliterationTable; //#endregion //#region src/transliterate.d.ts /** Every script table; pass as `tables` when the input language is unknown. */ export declare const allScripts: readonly TransliterationTable[]; /** Every locale object by id. */ export declare const locales: Readonly>; //#endregion export type { CyrillicLocaleId, LatinLocaleId, Locale, LocaleId, LocaleOverrides, OtherLocaleId, TransliterateOptions, TransliterationTable };