/*
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 { __extends } from "tslib";
import { FormatSpecifierDescription } from "./FormatSpecifierDescription";
import { markType } from "./type";
/**
 * @hidden
 */
var NumberFormatSpecifierDescription = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(NumberFormatSpecifierDescription, _super);
    function NumberFormatSpecifierDescription() {
        var _this = _super.call(this) || this;
        _this.aa = null;
        _this.w = null;
        _this.x = null;
        _this.y = null;
        _this.z = null;
        _this.ab = null;
        _this.ac = null;
        _this.ad = null;
        _this.ae = null;
        _this.af = null;
        _this.ag = null;
        _this.ah = null;
        _this.j = false;
        _this.o = 0;
        _this.n = 0;
        _this.l = 0;
        _this.p = 0;
        _this.m = 0;
        return _this;
    }
    NumberFormatSpecifierDescription.prototype.get_type = function () {
        return "NumberFormatSpecifier";
    };
    Object.defineProperty(NumberFormatSpecifierDescription.prototype, "locale", {
        get: function () {
            return this.aa;
        },
        set: function (a) {
            this.aa = a;
            this.e("Locale");
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NumberFormatSpecifierDescription.prototype, "compactDisplay", {
        get: function () {
            return this.w;
        },
        set: function (a) {
            this.w = a;
            this.e("CompactDisplay");
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NumberFormatSpecifierDescription.prototype, "currency", {
        get: function () {
            return this.x;
        },
        set: function (a) {
            this.x = a;
            this.e("Currency");
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NumberFormatSpecifierDescription.prototype, "currencyDisplay", {
        get: function () {
            return this.y;
        },
        set: function (a) {
            this.y = a;
            this.e("CurrencyDisplay");
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NumberFormatSpecifierDescription.prototype, "currencySign", {
        get: function () {
            return this.z;
        },
        set: function (a) {
            this.z = a;
            this.e("CurrencySign");
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NumberFormatSpecifierDescription.prototype, "localeMatcher", {
        get: function () {
            return this.ab;
        },
        set: function (a) {
            this.ab = a;
            this.e("LocaleMatcher");
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NumberFormatSpecifierDescription.prototype, "notation", {
        get: function () {
            return this.ac;
        },
        set: function (a) {
            this.ac = a;
            this.e("Notation");
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NumberFormatSpecifierDescription.prototype, "numberingSystem", {
        get: function () {
            return this.ad;
        },
        set: function (a) {
            this.ad = a;
            this.e("NumberingSystem");
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NumberFormatSpecifierDescription.prototype, "signDisplay", {
        get: function () {
            return this.ae;
        },
        set: function (a) {
            this.ae = a;
            this.e("SignDisplay");
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NumberFormatSpecifierDescription.prototype, "style", {
        get: function () {
            return this.af;
        },
        set: function (a) {
            this.af = a;
            this.e("Style");
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NumberFormatSpecifierDescription.prototype, "unit", {
        get: function () {
            return this.ag;
        },
        set: function (a) {
            this.ag = a;
            this.e("Unit");
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NumberFormatSpecifierDescription.prototype, "unitDisplay", {
        get: function () {
            return this.ah;
        },
        set: function (a) {
            this.ah = a;
            this.e("UnitDisplay");
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NumberFormatSpecifierDescription.prototype, "useGrouping", {
        get: function () {
            return this.j;
        },
        set: function (a) {
            this.j = a;
            this.e("UseGrouping");
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NumberFormatSpecifierDescription.prototype, "minimumIntegerDigits", {
        get: function () {
            return this.o;
        },
        set: function (a) {
            this.o = a;
            this.e("MinimumIntegerDigits");
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NumberFormatSpecifierDescription.prototype, "minimumFractionDigits", {
        get: function () {
            return this.n;
        },
        set: function (a) {
            this.n = a;
            this.e("MinimumFractionDigits");
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NumberFormatSpecifierDescription.prototype, "maximumFractionDigits", {
        get: function () {
            return this.l;
        },
        set: function (a) {
            this.l = a;
            this.e("MaximumFractionDigits");
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NumberFormatSpecifierDescription.prototype, "minimumSignificantDigits", {
        get: function () {
            return this.p;
        },
        set: function (a) {
            this.p = a;
            this.e("MinimumSignificantDigits");
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NumberFormatSpecifierDescription.prototype, "maximumSignificantDigits", {
        get: function () {
            return this.m;
        },
        set: function (a) {
            this.m = a;
            this.e("MaximumSignificantDigits");
        },
        enumerable: false,
        configurable: true
    });
    NumberFormatSpecifierDescription.$t = markType(NumberFormatSpecifierDescription, 'NumberFormatSpecifierDescription', FormatSpecifierDescription.$);
    NumberFormatSpecifierDescription.__marshalByValue1 = true;
    NumberFormatSpecifierDescription.__marshalByValueAlias1 = "NumberFormatSpecifier";
    return NumberFormatSpecifierDescription;
}(FormatSpecifierDescription));
export { NumberFormatSpecifierDescription };
