// generated by diplomat-tool
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";



/**
 * See the [Rust documentation for `IndicSyllabicCategory`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html) for more information.
 */
export class IndicSyllabicCategory {

    /** @internal */
    static fromValue(value: IndicSyllabicCategory | string): IndicSyllabicCategory;

    get value(): string;

    /** @internal */
    get ffiValue(): number;

    /**
     * See the [Rust documentation for `Other`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.Other) for more information.
     */
    static Other : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `Avagraha`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.Avagraha) for more information.
     */
    static Avagraha : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `Bindu`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.Bindu) for more information.
     */
    static Bindu : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `BrahmiJoiningNumber`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.BrahmiJoiningNumber) for more information.
     */
    static BrahmiJoiningNumber : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `CantillationMark`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.CantillationMark) for more information.
     */
    static CantillationMark : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `Consonant`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.Consonant) for more information.
     */
    static Consonant : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `ConsonantDead`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.ConsonantDead) for more information.
     */
    static ConsonantDead : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `ConsonantFinal`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.ConsonantFinal) for more information.
     */
    static ConsonantFinal : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `ConsonantHeadLetter`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.ConsonantHeadLetter) for more information.
     */
    static ConsonantHeadLetter : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `ConsonantInitialPostfixed`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.ConsonantInitialPostfixed) for more information.
     */
    static ConsonantInitialPostfixed : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `ConsonantKiller`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.ConsonantKiller) for more information.
     */
    static ConsonantKiller : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `ConsonantMedial`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.ConsonantMedial) for more information.
     */
    static ConsonantMedial : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `ConsonantPlaceholder`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.ConsonantPlaceholder) for more information.
     */
    static ConsonantPlaceholder : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `ConsonantPrecedingRepha`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.ConsonantPrecedingRepha) for more information.
     */
    static ConsonantPrecedingRepha : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `ConsonantPrefixed`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.ConsonantPrefixed) for more information.
     */
    static ConsonantPrefixed : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `ConsonantSubjoined`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.ConsonantSubjoined) for more information.
     */
    static ConsonantSubjoined : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `ConsonantSucceedingRepha`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.ConsonantSucceedingRepha) for more information.
     */
    static ConsonantSucceedingRepha : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `ConsonantWithStacker`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.ConsonantWithStacker) for more information.
     */
    static ConsonantWithStacker : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `GeminationMark`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.GeminationMark) for more information.
     */
    static GeminationMark : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `InvisibleStacker`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.InvisibleStacker) for more information.
     */
    static InvisibleStacker : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `Joiner`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.Joiner) for more information.
     */
    static Joiner : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `ModifyingLetter`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.ModifyingLetter) for more information.
     */
    static ModifyingLetter : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `NonJoiner`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.NonJoiner) for more information.
     */
    static NonJoiner : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `Nukta`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.Nukta) for more information.
     */
    static Nukta : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `Number`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.Number) for more information.
     */
    static Number : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `NumberJoiner`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.NumberJoiner) for more information.
     */
    static NumberJoiner : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `PureKiller`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.PureKiller) for more information.
     */
    static PureKiller : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `RegisterShifter`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.RegisterShifter) for more information.
     */
    static RegisterShifter : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `SyllableModifier`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.SyllableModifier) for more information.
     */
    static SyllableModifier : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `ToneLetter`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.ToneLetter) for more information.
     */
    static ToneLetter : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `ToneMark`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.ToneMark) for more information.
     */
    static ToneMark : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `Virama`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.Virama) for more information.
     */
    static Virama : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `Visarga`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.Visarga) for more information.
     */
    static Visarga : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `Vowel`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.Vowel) for more information.
     */
    static Vowel : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `VowelDependent`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.VowelDependent) for more information.
     */
    static VowelDependent : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `VowelIndependent`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.VowelIndependent) for more information.
     */
    static VowelIndependent : IndicSyllabicCategory;
    /**
     * See the [Rust documentation for `ReorderingKiller`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#associatedconstant.ReorderingKiller) for more information.
     */
    static ReorderingKiller : IndicSyllabicCategory;


    /**
     * See the [Rust documentation for `for_char`](https://docs.rs/icu/2.2.0/icu/properties/props/trait.EnumeratedProperty.html#tymethod.for_char) for more information.
     */
    static forChar(ch: codepoint): IndicSyllabicCategory;

    /**
     * Get the "long" name of this property value (returns empty if property value is unknown)
     *
     * See the [Rust documentation for `get`](https://docs.rs/icu/2.2.0/icu/properties/struct.PropertyNamesLongBorrowed.html#method.get) for more information.
     */
    longName(): string | null;

    /**
     * Get the "short" name of this property value (returns empty if property value is unknown)
     *
     * See the [Rust documentation for `get`](https://docs.rs/icu/2.2.0/icu/properties/struct.PropertyNamesShortBorrowed.html#method.get) for more information.
     */
    shortName(): string | null;

    /**
     * Convert to an integer value usable with ICU4C and `CodePointMapData`
     *
     * See the [Rust documentation for `to_icu4c_value`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#method.to_icu4c_value) for more information.
     */
    toIntegerValue(): number;

    /**
     * Convert from an integer value from ICU4C or `CodePointMapData`
     *
     * See the [Rust documentation for `from_icu4c_value`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.IndicSyllabicCategory.html#method.from_icu4c_value) for more information.
     */
    static fromIntegerValue(other: number): IndicSyllabicCategory | null;

    static tryFromStr(s: string): IndicSyllabicCategory | null;

    constructor(value: IndicSyllabicCategory | string );
}