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



/**
 * See the [Rust documentation for `LocaleDirectionality`](https://docs.rs/icu/2.2.0/icu/locale/struct.LocaleDirectionality.html) for more information.
 */
export class LocaleDirectionality {
    /** @internal */
    get ffiValue(): pointer;


    /**
     * Construct a new `LocaleDirectionality` instance using a particular data source.
     *
     * See the [Rust documentation for `new_common`](https://docs.rs/icu/2.2.0/icu/locale/struct.LocaleDirectionality.html#method.new_common) for more information.
     */
    static createCommonWithProvider(provider: DataProvider): LocaleDirectionality;

    /**
     * Construct a new `LocaleDirectionality` instance using compiled data.
     *
     * See the [Rust documentation for `new_extended`](https://docs.rs/icu/2.2.0/icu/locale/struct.LocaleDirectionality.html#method.new_extended) for more information.
     */
    static createExtended(): LocaleDirectionality;

    /**
     * Construct a new `LocaleDirectionality` instance using a particular data source.
     *
     * See the [Rust documentation for `new_extended`](https://docs.rs/icu/2.2.0/icu/locale/struct.LocaleDirectionality.html#method.new_extended) for more information.
     */
    static createExtendedWithProvider(provider: DataProvider): LocaleDirectionality;

    /**
     * See the [Rust documentation for `get`](https://docs.rs/icu/2.2.0/icu/locale/struct.LocaleDirectionality.html#method.get) for more information.
     */
    get(locale: Locale): LocaleDirection;

    /**
     * See the [Rust documentation for `is_left_to_right`](https://docs.rs/icu/2.2.0/icu/locale/struct.LocaleDirectionality.html#method.is_left_to_right) for more information.
     */
    isLeftToRight(locale: Locale): boolean;

    /**
     * See the [Rust documentation for `is_right_to_left`](https://docs.rs/icu/2.2.0/icu/locale/struct.LocaleDirectionality.html#method.is_right_to_left) for more information.
     */
    isRightToLeft(locale: Locale): boolean;

    /**
     * Construct a new `LocaleDirectionality` instance using compiled data.
     *
     * See the [Rust documentation for `new_common`](https://docs.rs/icu/2.2.0/icu/locale/struct.LocaleDirectionality.html#method.new_common) for more information.
     */
    constructor();
}