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



/**
 * See the [Rust documentation for `CanonicalCombiningClass`](https://docs.rs/icu/2.1.1/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;

    static NotReordered : CanonicalCombiningClass;
    static Overlay : CanonicalCombiningClass;
    static HanReading : CanonicalCombiningClass;
    static Nukta : CanonicalCombiningClass;
    static KanaVoicing : CanonicalCombiningClass;
    static Virama : CanonicalCombiningClass;
    static Ccc10 : CanonicalCombiningClass;
    static Ccc11 : CanonicalCombiningClass;
    static Ccc12 : CanonicalCombiningClass;
    static Ccc13 : CanonicalCombiningClass;
    static Ccc14 : CanonicalCombiningClass;
    static Ccc15 : CanonicalCombiningClass;
    static Ccc16 : CanonicalCombiningClass;
    static Ccc17 : CanonicalCombiningClass;
    static Ccc18 : CanonicalCombiningClass;
    static Ccc19 : CanonicalCombiningClass;
    static Ccc20 : CanonicalCombiningClass;
    static Ccc21 : CanonicalCombiningClass;
    static Ccc22 : CanonicalCombiningClass;
    static Ccc23 : CanonicalCombiningClass;
    static Ccc24 : CanonicalCombiningClass;
    static Ccc25 : CanonicalCombiningClass;
    static Ccc26 : CanonicalCombiningClass;
    static Ccc27 : CanonicalCombiningClass;
    static Ccc28 : CanonicalCombiningClass;
    static Ccc29 : CanonicalCombiningClass;
    static Ccc30 : CanonicalCombiningClass;
    static Ccc31 : CanonicalCombiningClass;
    static Ccc32 : CanonicalCombiningClass;
    static Ccc33 : CanonicalCombiningClass;
    static Ccc34 : CanonicalCombiningClass;
    static Ccc35 : CanonicalCombiningClass;
    static Ccc36 : CanonicalCombiningClass;
    static Ccc84 : CanonicalCombiningClass;
    static Ccc91 : CanonicalCombiningClass;
    static Ccc103 : CanonicalCombiningClass;
    static Ccc107 : CanonicalCombiningClass;
    static Ccc118 : CanonicalCombiningClass;
    static Ccc122 : CanonicalCombiningClass;
    static Ccc129 : CanonicalCombiningClass;
    static Ccc130 : CanonicalCombiningClass;
    static Ccc132 : CanonicalCombiningClass;
    static Ccc133 : CanonicalCombiningClass;
    static AttachedBelowLeft : CanonicalCombiningClass;
    static AttachedBelow : CanonicalCombiningClass;
    static AttachedAbove : CanonicalCombiningClass;
    static AttachedAboveRight : CanonicalCombiningClass;
    static BelowLeft : CanonicalCombiningClass;
    static Below : CanonicalCombiningClass;
    static BelowRight : CanonicalCombiningClass;
    static Left : CanonicalCombiningClass;
    static Right : CanonicalCombiningClass;
    static AboveLeft : CanonicalCombiningClass;
    static Above : CanonicalCombiningClass;
    static AboveRight : CanonicalCombiningClass;
    static DoubleBelow : CanonicalCombiningClass;
    static DoubleAbove : CanonicalCombiningClass;
    static IotaSubscript : CanonicalCombiningClass;


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

    /**
     * Convert to an integer value usable with ICU4C and CodePointMapData
     *
     * See the [Rust documentation for `to_icu4c_value`](https://docs.rs/icu/2.1.1/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.1.1/icu/properties/props/struct.CanonicalCombiningClass.html#method.from_icu4c_value) for more information.
     */
    static fromIntegerValue(other: number): CanonicalCombiningClass | null;

    constructor(value: CanonicalCombiningClass | string );
}