/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE  AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE:  you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import { FormatSpecifierDescription } from "./FormatSpecifierDescription";
import { markType } from "./type";
/**
 * @hidden
 */
export let DateTimeFormatSpecifierDescription = /*@__PURE__*/ (() => {
    class DateTimeFormatSpecifierDescription extends FormatSpecifierDescription {
        constructor() {
            super();
            this.v = null;
            this.n = null;
            this.ab = null;
            this.j = 0;
            this.m = null;
            this.p = null;
            this.z = null;
            this.w = null;
            this.ac = null;
            this.t = null;
            this.u = null;
            this.r = null;
            this.ae = null;
            this.q = null;
            this.af = null;
            this.y = null;
            this.o = null;
            this.s = null;
            this.x = null;
            this.aa = null;
            this.ad = null;
        }
        get_type() {
            return "DateTimeFormatSpecifier";
        }
        get locale() {
            return this.v;
        }
        set locale(a) {
            this.v = a;
            this.e("Locale");
        }
        get dateStyle() {
            return this.n;
        }
        set dateStyle(a) {
            this.n = a;
            this.e("DateStyle");
        }
        get timeStyle() {
            return this.ab;
        }
        set timeStyle(a) {
            this.ab = a;
            this.e("TimeStyle");
        }
        get fractionalSecondDigits() {
            return this.j;
        }
        set fractionalSecondDigits(a) {
            this.j = a;
            this.e("FractionalSecondDigits");
        }
        get calendar() {
            return this.m;
        }
        set calendar(a) {
            this.m = a;
            this.e("Calendar");
        }
        get dayPeriod() {
            return this.p;
        }
        set dayPeriod(a) {
            this.p = a;
            this.e("DayPeriod");
        }
        get numberingSystem() {
            return this.z;
        }
        set numberingSystem(a) {
            this.z = a;
            this.e("NumberingSystem");
        }
        get localeMatcher() {
            return this.w;
        }
        set localeMatcher(a) {
            this.w = a;
            this.e("LocaleMatcher");
        }
        get timeZone() {
            return this.ac;
        }
        set timeZone(a) {
            this.ac = a;
            this.e("TimeZone");
        }
        get hour12() {
            return this.t;
        }
        set hour12(a) {
            this.t = a;
            this.e("Hour12");
        }
        get hourCycle() {
            return this.u;
        }
        set hourCycle(a) {
            this.u = a;
            this.e("HourCycle");
        }
        get formatMatcher() {
            return this.r;
        }
        set formatMatcher(a) {
            this.r = a;
            this.e("FormatMatcher");
        }
        get weekDay() {
            return this.ae;
        }
        set weekDay(a) {
            this.ae = a;
            this.e("WeekDay");
        }
        get era() {
            return this.q;
        }
        set era(a) {
            this.q = a;
            this.e("Era");
        }
        get year() {
            return this.af;
        }
        set year(a) {
            this.af = a;
            this.e("Year");
        }
        get month() {
            return this.y;
        }
        set month(a) {
            this.y = a;
            this.e("Month");
        }
        get day() {
            return this.o;
        }
        set day(a) {
            this.o = a;
            this.e("Day");
        }
        get hour() {
            return this.s;
        }
        set hour(a) {
            this.s = a;
            this.e("Hour");
        }
        get minute() {
            return this.x;
        }
        set minute(a) {
            this.x = a;
            this.e("Minute");
        }
        get second() {
            return this.aa;
        }
        set second(a) {
            this.aa = a;
            this.e("Second");
        }
        get timeZoneName() {
            return this.ad;
        }
        set timeZoneName(a) {
            this.ad = a;
            this.e("TimeZoneName");
        }
    }
    DateTimeFormatSpecifierDescription.$t = markType(DateTimeFormatSpecifierDescription, 'DateTimeFormatSpecifierDescription', FormatSpecifierDescription.$);
    DateTimeFormatSpecifierDescription.__marshalByValue1 = true;
    DateTimeFormatSpecifierDescription.__marshalByValueAlias1 = "DateTimeFormatSpecifier";
    return DateTimeFormatSpecifierDescription;
})();
