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



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

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

    get value(): string;

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

    static Other : GraphemeClusterBreak;
    static Control : GraphemeClusterBreak;
    static Cr : GraphemeClusterBreak;
    static Extend : GraphemeClusterBreak;
    static L : GraphemeClusterBreak;
    static Lf : GraphemeClusterBreak;
    static Lv : GraphemeClusterBreak;
    static Lvt : GraphemeClusterBreak;
    static T : GraphemeClusterBreak;
    static V : GraphemeClusterBreak;
    static SpacingMark : GraphemeClusterBreak;
    static Prepend : GraphemeClusterBreak;
    static RegionalIndicator : GraphemeClusterBreak;
    static EBase : GraphemeClusterBreak;
    static EBaseGaz : GraphemeClusterBreak;
    static EModifier : GraphemeClusterBreak;
    static GlueAfterZwj : GraphemeClusterBreak;
    static Zwj : GraphemeClusterBreak;


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

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

    constructor(value: GraphemeClusterBreak | string );
}