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



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

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

    get value(): string;

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

    /**
     * See the [Rust documentation for `NotReordered`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.NotReordered) for more information.
     */
    static NotReordered : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `Overlay`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.Overlay) for more information.
     */
    static Overlay : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `HanReading`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.HanReading) for more information.
     */
    static HanReading : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `Nukta`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.Nukta) for more information.
     */
    static Nukta : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `KanaVoicing`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.KanaVoicing) for more information.
     */
    static KanaVoicing : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `Virama`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.Virama) for more information.
     */
    static Virama : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC10`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC10) for more information.
     */
    static Ccc10 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC11`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC11) for more information.
     */
    static Ccc11 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC12`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC12) for more information.
     */
    static Ccc12 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC13`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC13) for more information.
     */
    static Ccc13 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC14`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC14) for more information.
     */
    static Ccc14 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC15`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC15) for more information.
     */
    static Ccc15 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC16`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC16) for more information.
     */
    static Ccc16 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC17`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC17) for more information.
     */
    static Ccc17 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC18`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC18) for more information.
     */
    static Ccc18 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC19`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC19) for more information.
     */
    static Ccc19 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC20`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC20) for more information.
     */
    static Ccc20 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC21`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC21) for more information.
     */
    static Ccc21 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC22`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC22) for more information.
     */
    static Ccc22 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC23`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC23) for more information.
     */
    static Ccc23 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC24`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC24) for more information.
     */
    static Ccc24 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC25`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC25) for more information.
     */
    static Ccc25 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC26`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC26) for more information.
     */
    static Ccc26 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC27`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC27) for more information.
     */
    static Ccc27 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC28`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC28) for more information.
     */
    static Ccc28 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC29`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC29) for more information.
     */
    static Ccc29 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC30`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC30) for more information.
     */
    static Ccc30 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC31`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC31) for more information.
     */
    static Ccc31 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC32`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC32) for more information.
     */
    static Ccc32 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC33`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC33) for more information.
     */
    static Ccc33 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC34`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC34) for more information.
     */
    static Ccc34 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC35`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC35) for more information.
     */
    static Ccc35 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC36`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC36) for more information.
     */
    static Ccc36 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC84`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC84) for more information.
     */
    static Ccc84 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC91`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC91) for more information.
     */
    static Ccc91 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC103`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC103) for more information.
     */
    static Ccc103 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC107`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC107) for more information.
     */
    static Ccc107 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC118`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC118) for more information.
     */
    static Ccc118 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC122`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC122) for more information.
     */
    static Ccc122 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC129`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC129) for more information.
     */
    static Ccc129 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC130`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC130) for more information.
     */
    static Ccc130 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC132`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC132) for more information.
     */
    static Ccc132 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `CCC133`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.CCC133) for more information.
     */
    static Ccc133 : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `AttachedBelowLeft`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.AttachedBelowLeft) for more information.
     */
    static AttachedBelowLeft : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `AttachedBelow`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.AttachedBelow) for more information.
     */
    static AttachedBelow : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `AttachedAbove`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.AttachedAbove) for more information.
     */
    static AttachedAbove : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `AttachedAboveRight`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.AttachedAboveRight) for more information.
     */
    static AttachedAboveRight : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `BelowLeft`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.BelowLeft) for more information.
     */
    static BelowLeft : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `Below`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.Below) for more information.
     */
    static Below : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `BelowRight`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.BelowRight) for more information.
     */
    static BelowRight : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `Left`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.Left) for more information.
     */
    static Left : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `Right`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.Right) for more information.
     */
    static Right : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `AboveLeft`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.AboveLeft) for more information.
     */
    static AboveLeft : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `Above`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.Above) for more information.
     */
    static Above : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `AboveRight`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.AboveRight) for more information.
     */
    static AboveRight : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `DoubleBelow`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.DoubleBelow) for more information.
     */
    static DoubleBelow : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `DoubleAbove`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.DoubleAbove) for more information.
     */
    static DoubleAbove : CanonicalCombiningClass;
    /**
     * See the [Rust documentation for `IotaSubscript`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.CanonicalCombiningClass.html#associatedconstant.IotaSubscript) for more information.
     */
    static IotaSubscript : CanonicalCombiningClass;


    /**
     * 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): CanonicalCombiningClass;

    /**
     * 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.CanonicalCombiningClass.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.CanonicalCombiningClass.html#method.from_icu4c_value) for more information.
     */
    static fromIntegerValue(other: number): CanonicalCombiningClass | null;

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

    constructor(value: CanonicalCombiningClass | string );
}