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

export type DisplayNamesOptions_obj = {
    style?: DisplayNamesStyle | null;
    fallback?: DisplayNamesFallback | null;
    languageDisplay?: LanguageDisplay | null;
};



/**
 * 🚧 This API is unstable and may experience breaking changes outside major releases.
 *
 * See the [Rust documentation for `DisplayNamesOptions`](https://docs.rs/icu/2.2.0/icu/experimental/displaynames/struct.DisplayNamesOptions.html) for more information.
 */
export class DisplayNamesOptions {
    get style(): DisplayNamesStyle | null;
    set style(value: DisplayNamesStyle | null);
    get fallback(): DisplayNamesFallback | null;
    set fallback(value: DisplayNamesFallback | null);
    get languageDisplay(): LanguageDisplay | null;
    set languageDisplay(value: LanguageDisplay | null);
    /** @internal */
    static fromFields(structObj : DisplayNamesOptions_obj) : DisplayNamesOptions;

    /**
    * Create `DisplayNamesOptions` from an object that contains all of `DisplayNamesOptions`s fields.
    * Optional fields do not need to be included in the provided object.
    */
    constructor(structObj: DisplayNamesOptions_obj);

}