/*
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 { Base, markType } from "igniteui-angular-core";
/**
 * Exposes properties related to the <i>BoxAndWhisker</i> chart type.
 * <p class="body">
 * This class is immutable.
 * </p>
 * @see [[Series.boxAndWhiskerSettings]]
 */
var BoxAndWhiskerSettings = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(BoxAndWhiskerSettings, _super);
    function BoxAndWhiskerSettings(showInnerPoints, showOutlierPoints, showMeanMarkers, showMeanLine, quartileCalculation) {
        var _this = _super.call(this) || this;
        _this._showInnerPoints = false;
        _this._showOutlierPoints = false;
        _this._showMeanMarkers = false;
        _this._showMeanLine = false;
        _this._quartileCalculation = 0;
        showInnerPoints = (showInnerPoints !== void 0 ? showInnerPoints : false);
        showOutlierPoints = (showOutlierPoints !== void 0 ? showOutlierPoints : true);
        showMeanMarkers = (showMeanMarkers !== void 0 ? showMeanMarkers : true);
        showMeanLine = (showMeanLine !== void 0 ? showMeanLine : false);
        quartileCalculation = (quartileCalculation !== void 0 ? quartileCalculation : 1);
        _this.showInnerPoints = showInnerPoints;
        _this.showOutlierPoints = showOutlierPoints;
        _this.showMeanMarkers = showMeanMarkers;
        _this.showMeanLine = showMeanLine;
        _this.quartileCalculation = quartileCalculation;
        return _this;
    }
    Object.defineProperty(BoxAndWhiskerSettings.prototype, "showInnerPoints", {
        /**
         * Determines whether inner points appear on a box and whisker chart.
         * <p class="body">
         * Inner points appear between the lower whisker line and the upper whisker line.
         * </p>
         * @see [[showOutlierPoints]]
         */
        get: function () {
            return this._showInnerPoints;
        },
        set: function (a) {
            this._showInnerPoints = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(BoxAndWhiskerSettings.prototype, "showOutlierPoints", {
        /**
         * Determines whether outlier points appear on a box and whisker chart.
         * <p class="body">
         * Outlier points appear either below the lower whisker line or above the upper whisker line.
         * </p>
         * @see [[showInnerPoints]]
         */
        get: function () {
            return this._showOutlierPoints;
        },
        set: function (a) {
            this._showOutlierPoints = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(BoxAndWhiskerSettings.prototype, "showMeanMarkers", {
        /**
         * Determines whether mean markers appear on a box and whisker chart.
         * @see [[showMeanLine]]
         */
        get: function () {
            return this._showMeanMarkers;
        },
        set: function (a) {
            this._showMeanMarkers = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(BoxAndWhiskerSettings.prototype, "showMeanLine", {
        /**
         * Determines whether a mean line appears on a box and whisker chart.
         * <p class="body">
         * Mean lines connect the means of the boxes.
         * </p>
         * @see [[showMeanMarkers]]
         */
        get: function () {
            return this._showMeanLine;
        },
        set: function (a) {
            this._showMeanLine = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(BoxAndWhiskerSettings.prototype, "quartileCalculation", {
        /**
         * Determines the method for median calculation.
         */
        get: function () {
            return this._quartileCalculation;
        },
        set: function (a) {
            this._quartileCalculation = a;
        },
        enumerable: false,
        configurable: true
    });
    BoxAndWhiskerSettings.$t = markType(BoxAndWhiskerSettings, 'BoxAndWhiskerSettings');
    /**
     * @hidden
     */
    BoxAndWhiskerSettings._c = false;
    /**
     * @hidden
     */
    BoxAndWhiskerSettings._f = true;
    /**
     * @hidden
     */
    BoxAndWhiskerSettings._e = true;
    /**
     * @hidden
     */
    BoxAndWhiskerSettings._d = false;
    /**
     * @hidden
     */
    BoxAndWhiskerSettings._a = 0;
    return BoxAndWhiskerSettings;
}(Base));
export { BoxAndWhiskerSettings };
