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

export type DateFields_obj = {
    era?: string | null;
    eraYear?: number | null;
    extendedYear?: number | null;
    monthCode?: string | null;
    ordinalMonth?: number | null;
    day?: number | null;
};



/**
 * 🚧 This API is experimental and may experience breaking changes outside major releases.
 *
 * See the [Rust documentation for `DateFields`](https://docs.rs/icu/2.1.1/icu/calendar/types/struct.DateFields.html) for more information.
 */
export class DateFields {
    get era(): string | null;
    set era(value: string | null);
    get eraYear(): number | null;
    set eraYear(value: number | null);
    get extendedYear(): number | null;
    set extendedYear(value: number | null);
    get monthCode(): string | null;
    set monthCode(value: string | null);
    get ordinalMonth(): number | null;
    set ordinalMonth(value: number | null);
    get day(): number | null;
    set day(value: number | null);
    /** @internal */
    static fromFields(structObj : DateFields_obj) : DateFields;

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

}