/**
 * This class is a partial implementation of Java's Character class from the jree package and
 * is used to support the runtime tests.
 */
export declare class Character {
    /** The number of bytes used to represent a char value in unsigned binary form. */
    static readonly BYTES = 2;
    /** General category "Mc" in the Unicode specification. */
    static readonly COMBINING_SPACING_MARK = 0;
    /** General category "Pc" in the Unicode specification. */
    static readonly CONNECTOR_PUNCTUATION = 1;
    /** General category "Cc" in the Unicode specification. */
    static readonly CONTROL = 2;
    /** General category "Sc" in the Unicode specification. */
    static readonly CURRENCY_SYMBOL = 3;
    /** General category "Pd" in the Unicode specification. */
    static readonly DASH_PUNCTUATION = 4;
    /** General category "Nd" in the Unicode specification. */
    static readonly DECIMAL_DIGIT_NUMBER = 5;
    /** Weak bidirectional character type "AN" in the Unicode specification. */
    static readonly DIRECTIONALITY_ARABIC_NUMBER = 6;
    /** Weak bidirectional character type "BN" in the Unicode specification. */
    static readonly DIRECTIONALITY_BOUNDARY_NEUTRAL = 7;
    /** Weak bidirectional character type "CS" in the Unicode specification. */
    static readonly DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = 8;
    /** Weak bidirectional character type "EN" in the Unicode specification. */
    static readonly DIRECTIONALITY_EUROPEAN_NUMBER = 9;
    /** Weak bidirectional character type "ES" in the Unicode specification. */
    static readonly DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = 10;
    /** Weak bidirectional character type "ET" in the Unicode specification. */
    static readonly DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = 11;
    /** Weak bidirectional character type "FSI" in the Unicode specification. */
    static readonly DIRECTIONALITY_FIRST_STRONG_ISOLATE = 12;
    /** Strong bidirectional character type "L" in the Unicode specification. */
    static readonly DIRECTIONALITY_LEFT_TO_RIGHT = 13;
    /** Strong bidirectional character type "LRE" in the Unicode specification. */
    static readonly DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = 14;
    /** Weak bidirectional character type "LRI" in the Unicode specification. */
    static readonly DIRECTIONALITY_LEFT_TO_RIGHT_ISOLATE = 15;
    /** Strong bidirectional character type "LRO" in the Unicode specification. */
    static readonly DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = 16;
    /** General category "NSM" in the Unicode specification. */
    static readonly DIRECTIONALITY_NONSPACING_MARK = 17;
    /** Weak bidirectional character type "ON" in the Unicode specification. */
    static readonly DIRECTIONALITY_OTHER_NEUTRALS = 18;
    /** Strong bidirectional character type "B" in the Unicode specification. */
    static readonly DIRECTIONALITY_PARAGRAPH_SEPARATOR = 19;
    /** Strong bidirectional character type "PDF" in the Unicode specification. */
    static readonly DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 20;
    /** Weak bidirectional character type "PDI" in the Unicode specification. */
    static readonly DIRECTIONALITY_POP_DIRECTIONAL_ISOLATE = 21;
    /** General category "R" in the Unicode specification. */
    static readonly DIRECTIONALITY_RIGHT_TO_LEFT = 22;
    /** Strong bidirectional character type "AL" in the Unicode specification. */
    static readonly DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = 23;
    /** Strong bidirectional character type "RLE" in the Unicode specification. */
    static readonly DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = 24;
    /** Weak bidirectional character type "RLI" in the Unicode specification. */
    static readonly DIRECTIONALITY_RIGHT_TO_LEFT_ISOLATE = 25;
    /** Strong bidirectional character type "RLO" in the Unicode specification. */
    static readonly DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = 26;
    /** Weak bidirectional character type "S" in the Unicode specification. */
    static readonly DIRECTIONALITY_SEGMENT_SEPARATOR = 27;
    /** Undefined bidirectional character type. */
    static readonly DIRECTIONALITY_UNDEFINED = 28;
    /** Neutral bidirectional character type "WS" in the Unicode specification. */
    static readonly DIRECTIONALITY_WHITESPACE = 29;
    /** General category "Me" in the Unicode specification. */
    static readonly ENCLOSING_MARK = 30;
    /** General category "Pe" in the Unicode specification. */
    static readonly END_PUNCTUATION = 31;
    /** General category "Pf" in the Unicode specification. */
    static readonly FINAL_QUOTE_PUNCTUATION = 32;
    /** General category "Cf" in the Unicode specification. */
    static readonly FORMAT = 33;
    /** General category "Pi" in the Unicode specification. */
    static readonly INITIAL_QUOTE_PUNCTUATION = 34;
    /** General category "Nl" in the Unicode specification. */
    static readonly LETTER_NUMBER = 35;
    /** General category "Zl" in the Unicode specification. */
    static readonly LINE_SEPARATOR = 36;
    /** General category "Ll" in the Unicode specification. */
    static readonly LOWERCASE_LETTER = 37;
    /** General category "Sm" in the Unicode specification. */
    static readonly MATH_SYMBOL = 38;
    /** The maximum value of a Unicode code point, constant U+10FFFF. */
    static readonly MAX_CODE_POINT = 1114111;
    /** The maximum value of a Unicode high-surrogate code unit in the UTF-16 encoding, constant '\uDBFF'. */
    static readonly MAX_HIGH_SURROGATE = 56319;
    /** The maximum value of a Unicode low-surrogate code unit in the UTF-16 encoding, constant '\uDFFF'. */
    static readonly MAX_LOW_SURROGATE = 57343;
    /** The maximum radix available for conversion to and from strings. */
    static readonly MAX_RADIX = 36;
    /** The maximum value of a Unicode surrogate code unit in the UTF-16 encoding, constant '\uDFFF'. */
    static readonly MAX_SURROGATE = 57343;
    /** The maximum value of a Unicode code point in the Basic Multilingual Plane, constant U+FFFF. */
    static readonly MAX_VALUE = 65535;
    /** The minimum value of a Unicode code point, constant U+0000. */
    static readonly MIN_CODE_POINT = 0;
    /** The minimum value of a Unicode high-surrogate code unit in the UTF-16 encoding, constant '\uD800'. */
    static readonly MIN_HIGH_SURROGATE = 55296;
    /** The minimum value of a Unicode low-surrogate code unit in the UTF-16 encoding, constant '\uDC00'. */
    static readonly MIN_LOW_SURROGATE = 56320;
    /** The minimum radix available for conversion to and from strings. */
    static readonly MIN_RADIX = 2;
    /** The minimum value of a Unicode supplementary code point, constant U+10000. */
    static readonly MIN_SUPPLEMENTARY_CODE_POINT = 65536;
    /** The minimum value of a Unicode surrogate code unit in the UTF-16 encoding, constant '\uD800'. */
    static readonly MIN_SURROGATE = 55296;
    /** The minimum value of a Unicode code point, constant U+0000. */
    static readonly MIN_VALUE = 0;
    /** General category "Lm" in the Unicode specification. */
    static readonly MODIFIER_LETTER = 39;
    /** General category "Sk" in the Unicode specification. */
    static readonly MODIFIER_SYMBOL = 40;
    /** General category "Mn" in the Unicode specification. */
    static readonly NON_SPACING_MARK = 41;
    /** General category "Lo" in the Unicode specification. */
    static readonly OTHER_LETTER = 42;
    /** General category "No" in the Unicode specification. */
    static readonly OTHER_NUMBER = 43;
    /** General category "Po" in the Unicode specification. */
    static readonly OTHER_PUNCTUATION = 44;
    /** General category "So" in the Unicode specification. */
    static readonly OTHER_SYMBOL = 45;
    /** General category "Zp" in the Unicode specification. */
    static readonly PARAGRAPH_SEPARATOR = 46;
    /** General category "Co" in the Unicode specification. */
    static readonly PRIVATE_USE = 47;
    /** The number of bits used to represent a char value in unsigned binary form, constant 16. */
    static readonly SIZE = 16;
    /** General category "Zs" in the Unicode specification. */
    static readonly SPACE_SEPARATOR = 48;
    /** General category "Ps" in the Unicode specification. */
    static readonly START_PUNCTUATION = 4921;
    /** General category "Sc" in the Unicode specification. */
    static readonly SURROGATE = 50;
    /** General category "Lt" in the Unicode specification. */
    static readonly TITLECASE_LETTER = 51;
    /** General category "Cn" in the Unicode specification. */
    static readonly UNASSIGNED = 52;
    /** General category "Lu" in the Unicode specification. */
    static readonly UPPERCASE_LETTER = 53;
    static readonly UnicodeBlock: {
        new (): {};
        /**
         * @param c The character/codepoint to check.
         *
         * @returns the value representing the Unicode block containing the given character, or -1 if the
         *          character is not a member of a defined block.
         */
        of(c: string | number): number;
        /**
         * @param name The name of the Unicode block.
         *
         * @returns the UnicodeBlock number with the given name or -1 if no Unicode block with that name could be
         *          found. Block names are determined by The Unicode Standard.
         *
         * This method accepts block names in the following forms:
         * 1. Canonical block names as defined by the Unicode Standard. For example, the standard defines a
         *    "Basic Latin" block. Therefore, this method accepts "Basic Latin" as a valid block name. The documentation
         *    of each UnicodeBlock provides the canonical name.
         * 2. Canonical block names with all spaces removed. For example, "BasicLatin" is a valid block name for the
         *    "Basic Latin" block.
         * 3. The text representation of each constant UnicodeBlock identifier. For example, this method will return
         *    the BASIC_LATIN block if provided with the "BASIC_LATIN" name. This form replaces all spaces and hyphens
         *    in the canonical name with underscores.
         *
         * Finally, character case is ignored for all of the valid block name forms. For example, "BASIC_LATIN" and
         * "basic_latin" are both valid block names. The en_US locale's case mapping rules are used to provide
         * case-insensitive string comparisons for block name validation.
         */
        forName(name: string): number;
        ADLAM: number;
        AEGEAN_NUMBERS: number;
        AHOM: number;
        ALCHEMICAL_SYMBOLS: number;
        ALPHABETIC_PRESENTATION_FORMS: number;
        ANATOLIAN_HIEROGLYPHS: number;
        ANCIENT_GREEK_MUSICAL_NOTATION: number;
        ANCIENT_GREEK_NUMBERS: number;
        ANCIENT_SYMBOLS: number;
        ARABIC: number;
        ARABIC_EXTENDED_A: number;
        ARABIC_EXTENDED_B: number;
        ARABIC_EXTENDED_C: number;
        ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS: number;
        ARABIC_PRESENTATION_FORMS_A: number;
        ARABIC_PRESENTATION_FORMS_B: number;
        ARABIC_SUPPLEMENT: number;
        ARMENIAN: number;
        ARROWS: number;
        AVESTAN: number;
        BALINESE: number;
        BAMUM: number;
        BAMUM_SUPPLEMENT: number;
        BASIC_LATIN: number;
        BASSA_VAH: number;
        BATAK: number;
        BENGALI: number;
        BHAIKSUKI: number;
        BLOCK_ELEMENTS: number;
        BOPOMOFO: number;
        BOPOMOFO_EXTENDED: number;
        BOX_DRAWING: number;
        BRAHMI: number;
        BRAILLE_PATTERNS: number;
        BUGINESE: number;
        BUHID: number;
        BYZANTINE_MUSICAL_SYMBOLS: number;
        CJK_COMPATIBILITY: number;
        CJK_COMPATIBILITY_FORMS: number;
        CJK_COMPATIBILITY_IDEOGRAPHS: number;
        CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT: number;
        CJK_RADICALS_SUPPLEMENT: number;
        CJK_STROKES: number;
        CJK_SYMBOLS_AND_PUNCTUATION: number;
        CJK_UNIFIED_IDEOGRAPHS: number;
        CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A: number;
        CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B: number;
        CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C: number;
        CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D: number;
        CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E: number;
        CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F: number;
        CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G: number;
        CJK_UNIFIED_IDEOGRAPHS_EXTENSION_H: number;
        CJK_UNIFIED_IDEOGRAPHS_EXTENSION_I: number;
        CARIAN: number;
        CAUCASIAN_ALBANIAN: number;
        CHAKMA: number;
        CHAM: number;
        CHEROKEE: number;
        CHEROKEE_SUPPLEMENT: number;
        CHESS_SYMBOLS: number;
        CHORASMIAN: number;
        COMBINING_DIACRITICAL_MARKS: number;
        COMBINING_DIACRITICAL_MARKS_EXTENDED: number;
        COMBINING_DIACRITICAL_MARKS_FOR_SYMBOLS: number;
        COMBINING_DIACRITICAL_MARKS_SUPPLEMENT: number;
        COMBINING_HALF_MARKS: number;
        COMMON_INDIC_NUMBER_FORMS: number;
        CONTROL_PICTURES: number;
        COPTIC: number;
        COPTIC_EPACT_NUMBERS: number;
        COUNTING_ROD_NUMERALS: number;
        CUNEIFORM: number;
        CUNEIFORM_NUMBERS_AND_PUNCTUATION: number;
        CURRENCY_SYMBOLS: number;
        CYPRIOT_SYLLABARY: number;
        CYPRO_MINOAN: number;
        CYRILLIC: number;
        CYRILLIC_EXTENDED_A: number;
        CYRILLIC_EXTENDED_B: number;
        CYRILLIC_EXTENDED_C: number;
        CYRILLIC_EXTENDED_D: number;
        CYRILLIC_SUPPLEMENT: number;
        DESERET: number;
        DEVANAGARI: number;
        DEVANAGARI_EXTENDED: number;
        DEVANAGARI_EXTENDED_A: number;
        DINGBATS: number;
        DIVES_AKURU: number;
        DOGRA: number;
        DOMINO_TILES: number;
        DUPLOYAN: number;
        EARLY_DYNASTIC_CUNEIFORM: number;
        EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS: number;
        EGYPTIAN_HIEROGLYPHS: number;
        EGYPTIAN_HIEROGLYPHS_EXTENDED_A: number;
        ELBASAN: number;
        ELYMAIC: number;
        EMOTICONS: number;
        ENCLOSED_ALPHANUMERIC_SUPPLEMENT: number;
        ENCLOSED_ALPHANUMERICS: number;
        ENCLOSED_CJK_LETTERS_AND_MONTHS: number;
        ENCLOSED_IDEOGRAPHIC_SUPPLEMENT: number;
        ETHIOPIC: number;
        ETHIOPIC_EXTENDED: number;
        ETHIOPIC_EXTENDED_A: number;
        ETHIOPIC_EXTENDED_B: number;
        ETHIOPIC_SUPPLEMENT: number;
        GARAY: number;
        GENERAL_PUNCTUATION: number;
        GEOMETRIC_SHAPES: number;
        GEOMETRIC_SHAPES_EXTENDED: number;
        GEORGIAN: number;
        GEORGIAN_EXTENDED: number;
        GEORGIAN_SUPPLEMENT: number;
        GLAGOLITIC: number;
        GLAGOLITIC_SUPPLEMENT: number;
        GOTHIC: number;
        GRANTHA: number;
        GREEK_AND_COPTIC: number;
        GREEK_EXTENDED: number;
        GUJARATI: number;
        GUNJALA_GONDI: number;
        GURMUKHI: number;
        GURUNG_KHEMA: number;
        HALFWIDTH_AND_FULLWIDTH_FORMS: number;
        HANGUL_COMPATIBILITY_JAMO: number;
        HANGUL_JAMO: number;
        HANGUL_JAMO_EXTENDED_A: number;
        HANGUL_JAMO_EXTENDED_B: number;
        HANGUL_SYLLABLES: number;
        HANIFI_ROHINGYA: number;
        HANUNOO: number;
        HATRAN: number;
        HEBREW: number;
        HIGH_PRIVATE_USE_SURROGATES: number;
        HIGH_SURROGATES: number;
        HIRAGANA: number;
        IPA_EXTENSIONS: number;
        IDEOGRAPHIC_DESCRIPTION_CHARACTERS: number;
        IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION: number;
        IMPERIAL_ARAMAIC: number;
        INDIC_SIYAQ_NUMBERS: number;
        INSCRIPTIONAL_PAHLAVI: number;
        INSCRIPTIONAL_PARTHIAN: number;
        JAVANESE: number;
        KAITHI: number;
        KAKTOVIK_NUMERALS: number;
        KANA_EXTENDED_A: number;
        KANA_EXTENDED_B: number;
        KANA_SUPPLEMENT: number;
        KANBUN: number;
        KANGXI_RADICALS: number;
        KANNADA: number;
        KATAKANA: number;
        KATAKANA_PHONETIC_EXTENSIONS: number;
        KAWI: number;
        KAYAH_LI: number;
        KHAROSHTHI: number;
        KHITAN_SMALL_SCRIPT: number;
        KHMER: number;
        KHMER_SYMBOLS: number;
        KHOJKI: number;
        KHUDAWADI: number;
        KIRAT_RAI: number;
        LAO: number;
        LATIN_1_SUPPLEMENT: number;
        LATIN_EXTENDED_A: number;
        LATIN_EXTENDED_ADDITIONAL: number;
        LATIN_EXTENDED_B: number;
        LATIN_EXTENDED_C: number;
        LATIN_EXTENDED_D: number;
        LATIN_EXTENDED_E: number;
        LATIN_EXTENDED_F: number;
        LATIN_EXTENDED_G: number;
        LEPCHA: number;
        LETTERLIKE_SYMBOLS: number;
        LIMBU: number;
        LINEAR_A: number;
        LINEAR_B_IDEOGRAMS: number;
        LINEAR_B_SYLLABARY: number;
        LISU: number;
        LISU_SUPPLEMENT: number;
        LOW_SURROGATES: number;
        LYCIAN: number;
        LYDIAN: number;
        MAHAJANI: number;
        MAHJONG_TILES: number;
        MAKASAR: number;
        MALAYALAM: number;
        MANDAIC: number;
        MANICHAEAN: number;
        MARCHEN: number;
        MASARAM_GONDI: number;
        MATHEMATICAL_ALPHANUMERIC_SYMBOLS: number;
        MATHEMATICAL_OPERATORS: number;
        MAYAN_NUMERALS: number;
        MEDEFAIDRIN: number;
        MEETEI_MAYEK: number;
        MEETEI_MAYEK_EXTENSIONS: number;
        MENDE_KIKAKUI: number;
        MEROITIC_CURSIVE: number;
        MEROITIC_HIEROGLYPHS: number;
        MIAO: number;
        MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A: number;
        MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B: number;
        MISCELLANEOUS_SYMBOLS: number;
        MISCELLANEOUS_SYMBOLS_AND_ARROWS: number;
        MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS: number;
        MISCELLANEOUS_TECHNICAL: number;
        MODI: number;
        MODIFIER_TONE_LETTERS: number;
        MONGOLIAN: number;
        MONGOLIAN_SUPPLEMENT: number;
        MRO: number;
        MULTANI: number;
        MUSICAL_SYMBOLS: number;
        MYANMAR: number;
        MYANMAR_EXTENDED_A: number;
        MYANMAR_EXTENDED_B: number;
        MYANMAR_EXTENDED_C: number;
        NKO: number;
        NABATAEAN: number;
        NAG_MUNDARI: number;
        NANDINAGARI: number;
        NEW_TAI_LUE: number;
        NEWA: number;
        NUMBER_FORMS: number;
        NUSHU: number;
        NYIAKENG_PUACHUE_HMONG: number;
        OGHAM: number;
        OL_CHIKI: number;
        OL_ONAL: number;
        OLD_HUNGARIAN: number;
        OLD_ITALIC: number;
        OLD_NORTH_ARABIAN: number;
        OLD_PERMIC: number;
        OLD_PERSIAN: number;
        OLD_SOGDIAN: number;
        OLD_SOUTH_ARABIAN: number;
        OLD_TURKIC: number;
        OLD_UYGHUR: number;
        OPTICAL_CHARACTER_RECOGNITION: number;
        ORIYA: number;
        ORNAMENTAL_DINGBATS: number;
        OSAGE: number;
        OSMANYA: number;
        OTTOMAN_SIYAQ_NUMBERS: number;
        PAHAWH_HMONG: number;
        PALMYRENE: number;
        PAU_CIN_HAU: number;
        PHAGS_PA: number;
        PHAISTOS_DISC: number;
        PHOENICIAN: number;
        PHONETIC_EXTENSIONS: number;
        PHONETIC_EXTENSIONS_SUPPLEMENT: number;
        PLAYING_CARDS: number;
        PRIVATE_USE_AREA: number;
        PSALTER_PAHLAVI: number;
        REJANG: number;
        RUMI_NUMERAL_SYMBOLS: number;
        RUNIC: number;
        SAMARITAN: number;
        SAURASHTRA: number;
        SHARADA: number;
        SHAVIAN: number;
        SHORTHAND_FORMAT_CONTROLS: number;
        SIDDHAM: number;
        SINHALA: number;
        SINHALA_ARCHAIC_NUMBERS: number;
        SMALL_FORM_VARIANTS: number;
        SMALL_KANA_EXTENSION: number;
        SOGDIAN: number;
        SORA_SOMPENG: number;
        SOYOMBO: number;
        SPACING_MODIFIER_LETTERS: number;
        SPECIALS: number;
        SUNDANESE: number;
        SUNDANESE_SUPPLEMENT: number;
        SUNUWAR: number;
        SUPERSCRIPTS_AND_SUBSCRIPTS: number;
        SUPPLEMENTAL_ARROWS_A: number;
        SUPPLEMENTAL_ARROWS_B: number;
        SUPPLEMENTAL_ARROWS_C: number;
        SUPPLEMENTAL_MATHEMATICAL_OPERATORS: number;
        SUPPLEMENTAL_PUNCTUATION: number;
        SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS: number;
        SUPPLEMENTARY_PRIVATE_USE_AREA_A: number;
        SUPPLEMENTARY_PRIVATE_USE_AREA_B: number;
        SUTTON_SIGNWRITING: number;
        SYLOTI_NAGRI: number;
        SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A: number;
        SYMBOLS_FOR_LEGACY_COMPUTING: number;
        SYMBOLS_FOR_LEGACY_COMPUTING_SUPPLEMENT: number;
        SYRIAC: number;
        SYRIAC_SUPPLEMENT: number;
        TAGALOG: number;
        TAGBANWA: number;
        TAGS: number;
        TAI_LE: number;
        TAI_THAM: number;
        TAI_VIET: number;
        TAI_XUAN_JING_SYMBOLS: number;
        TAKRI: number;
        TAMIL: number;
        TAMIL_SUPPLEMENT: number;
        TANGSA: number;
        TANGUT: number;
        TANGUT_COMPONENTS: number;
        TANGUT_SUPPLEMENT: number;
        TELUGU: number;
        THAANA: number;
        THAI: number;
        TIBETAN: number;
        TIFINAGH: number;
        TIRHUTA: number;
        TODHRI: number;
        TOTO: number;
        TRANSPORT_AND_MAP_SYMBOLS: number;
        TULU_TIGALARI: number;
        UGARITIC: number;
        UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS: number;
        UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED: number;
        UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_A: number;
        VAI: number;
        VARIATION_SELECTORS: number;
        VARIATION_SELECTORS_SUPPLEMENT: number;
        VEDIC_EXTENSIONS: number;
        VERTICAL_FORMS: number;
        VITHKUQI: number;
        WANCHO: number;
        WARANG_CITI: number;
        YEZIDI: number;
        YI_RADICALS: number;
        YI_SYLLABLES: number;
        YIJING_HEXAGRAM_SYMBOLS: number;
        ZANABAZAR_SQUARE: number;
        ZNAMENNY_MUSICAL_NOTATION: number;
        readonly ranges: Map<number, [number, number]>;
        readonly names: Map<string, number>;
    };
    private static readonly categoryMapper;
    /**
     * Returns a value indicating a character's general category.
     *
     * @param c The character to check.
     *
     * @returns The character's general category.
     *
     * Note: In typescript we cannot differentiate between char and number (char is a type alias for number).
     *       That means there's only one method for the two Java getType methods.
     */
    static getType(c: number): number;
    /**
     * Returns the leading surrogate (a high surrogate code unit) of the surrogate pair representing the specified
     * supplementary character (Unicode code point) in the UTF-16 encoding. If the specified character is not a
     * supplementary character, an unspecified char is returned.
     *
     * @param codePoint The supplementary character (Unicode code point) for which to get the leading surrogate.
     *
     * @returns The leading surrogate code unit used to represent the character in the UTF-16 encoding.
     */
    static highSurrogate(codePoint: number): number;
    /**
     * @param codePoint The supplementary character (Unicode code point) for which to get the leading surrogate.
     *
     * @returns the trailing surrogate (a low surrogate code unit) of the surrogate pair representing the specified
     *          supplementary character (Unicode code point) in the UTF-16 encoding. If the specified character is not
     *          a supplementary character, an unspecified char is returned.
     */
    static lowSurrogate(codePoint: number): number;
    /**
     * Determines if the specified character (Unicode code point) is an alphabet.
     *
     * @param codePoint the character (Unicode code point) to be tested.
     *
     * @returns  true if the character is a Unicode alphabet character, false otherwise.
     */
    static isAlphabetic(codePoint: number): boolean;
    /**
     * Determines if the specified character (Unicode code point) is a digit.
     *
     * @param c The character to check.
     *
     * @returns True, if the character is a digit, otherwise false
     */
    static isDigit(c: number): boolean;
    /**
     * Determines if the given char value is a Unicode high-surrogate code unit (also known as leading-surrogate
     * code unit).
     *
     * @param ch The character to check.
     *
     * @returns True, if the character is a high surrogate, otherwise false.
     */
    static isHighSurrogate(ch: number): boolean;
    static isIdentifierIgnorable(c: number): boolean;
    static isJavaIdentifierPart(c: number): boolean;
    static isJavaIdentifierStart(c: number): boolean;
    static isLetter(c: number): boolean;
    static isLetterOrDigit(c: number): boolean;
    /**
     * Determines if the specified character (Unicode code point) is an lowercase character.
     *
     * @param c The character to check.
     *
     * @returns True, if the character is an lowercase character, otherwise false.
     */
    static isLowerCase(c: number): boolean;
    /**
     * Determines if the given char value is a Unicode low-surrogate code unit (also known as trailing-surrogate
     * code unit).
     *
     * @param c The character to check.
     *
     * @returns True, if the character is a low surrogate, otherwise false.
     */
    static isLowSurrogate(c: number): boolean;
    /**
     * Determines whether the specified character (Unicode code point) is in the supplementary character range.
     *
     * @param codePoint The character to check.
     *
     * @returns True, if the character is in the supplementary character range, otherwise false.
     */
    static isSupplementaryCodePoint(codePoint: number): boolean;
    /**
     * Determines if the specified character (Unicode code point) may be part of a Unicode identifier as other than
     * the first character.
     *
     * @param c The character to check.
     *
     * @returns True, if the character may be part of a Unicode identifier, otherwise false.
     */
    static isUnicodeIdentifierPart(c: number): boolean;
    /**
     * Determines if the specified character is permissible as the first character in a Unicode identifier.
     * A character may start a Unicode identifier if and only if one of the following is true:
     *
     * @param c The character to check.
     *
     * @returns True, if the character is permissible as the first character in a Unicode identifier, otherwise false.
     */
    static isUnicodeIdentifierStart(c: number): boolean;
    /**
     * Determines if the specified character (Unicode code point) is an uppercase character.
     *
     * @param c The character to check.
     *
     * @returns True, if the character is an uppercase character, otherwise false.
     */
    static isUpperCase(c: number): boolean;
    static isISOControl(c: number): boolean;
    static isWhitespace(c: number): boolean;
    /**
     * Converts the specified surrogate pair to its supplementary code point value.
     *
     * @param high The leading surrogate.
     * @param low The trailing surrogate.
     *
     * @returns The computed Unicode codepoint.
     */
    static toCodePoint(high: number, low: number): number;
    static toString(c: number): string;
    static toUpperCase(s: string): string;
    static toUpperCase(c: number): number;
    static toLowerCase(s: string): string;
    static toLowerCase(c: number): number;
    /**
     * Determines the number of char values needed to represent the specified character (Unicode code point).
     * If the specified character is equal to or greater than 0x10000, then the method returns 2.
     * Otherwise, the method returns 1.
     *
     * @param codePoint The character (Unicode code point) to check.
     *
     * @returns The number of char values needed to represent the specified character.
     */
    static charCount(codePoint: number): number;
}
