/*
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 { NativeUIComponent } from "./NativeUIComponent";
import { enumGetBox, EnumUtil, markType } from "./type";
import { NativeUIDisplayDensity_$type } from "./NativeUIDisplayDensity";
import { NativeUIButtonGroupDisplayType_$type } from "./NativeUIButtonGroupDisplayType";
/**
 * @hidden
 */
var NativeUIButtonGroup = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(NativeUIButtonGroup, _super);
    function NativeUIButtonGroup() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this.bo = null;
        return _this;
    }
    NativeUIButtonGroup.prototype.get_e = function () {
        return 17;
    };
    Object.defineProperty(NativeUIButtonGroup.prototype, "bk", {
        get: function () {
            var a = this.ag(87);
            return a;
        },
        set: function (a) {
            this.a4(87, a);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NativeUIButtonGroup.prototype, "bq", {
        get: function () {
            var a = this.ag(1);
            return a == null ? 1 : EnumUtil.getEnumValue(NativeUIDisplayDensity_$type, a);
        },
        set: function (a) {
            this.a4(1, enumGetBox(NativeUIDisplayDensity_$type, a));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NativeUIButtonGroup.prototype, "bn", {
        get: function () {
            var a = this.ag(0);
            return a == null ? 1 : EnumUtil.getEnumValue(NativeUIButtonGroupDisplayType_$type, a);
        },
        set: function (a) {
            this.a4(0, enumGetBox(NativeUIButtonGroupDisplayType_$type, a));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NativeUIButtonGroup.prototype, "br", {
        get: function () {
            return this.ag(32);
        },
        set: function (a) {
            this.a4(32, a);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NativeUIButtonGroup.prototype, "by", {
        get: function () {
            return this.ag(24);
        },
        set: function (a) {
            this.a4(24, a);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NativeUIButtonGroup.prototype, "bx", {
        get: function () {
            return this.ag(17);
        },
        set: function (a) {
            this.a4(17, a);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(NativeUIButtonGroup.prototype, "bl", {
        get: function () {
            return this.d;
        },
        enumerable: false,
        configurable: true
    });
    NativeUIButtonGroup.prototype.bs = function (a) {
        this.bl.addButton(this.am, a);
    };
    NativeUIButtonGroup.prototype.bw = function (a, b) {
        this.bl.updateButton(this.am, a, b);
    };
    NativeUIButtonGroup.prototype.bu = function (a, b) {
        this.bl.insertButton(this.am, a, b);
    };
    NativeUIButtonGroup.prototype.bv = function (a) {
        this.bl.removeButton(this.am, a);
    };
    NativeUIButtonGroup.prototype.bm = function (a) {
        return this.bl.getButtonAt(this.am, a);
    };
    Object.defineProperty(NativeUIButtonGroup.prototype, "bp", {
        get: function () {
            return this.bo;
        },
        set: function (a) {
            var b = this.bo;
            this.bo = a;
            if (this.bo != b) {
                if (b != null) {
                    this.a2(3, b);
                }
                if (this.bo != null) {
                    this.aq(3, this.bo);
                }
            }
        },
        enumerable: false,
        configurable: true
    });
    NativeUIButtonGroup.prototype.bt = function () {
        this.bl.clearSelection(this.am);
    };
    NativeUIButtonGroup.$t = markType(NativeUIButtonGroup, 'NativeUIButtonGroup', NativeUIComponent.$);
    return NativeUIButtonGroup;
}(NativeUIComponent));
export { NativeUIButtonGroup };
