import { __extends } from "tslib";
import { SplineType_$type } from "./SplineType";
import { IgrHorizontalAnchoredCategorySeries } from "./igr-horizontal-anchored-category-series";
import { ensureBool, ensureEnum } from "igniteui-react-core";
/**
 * Represents the base class for all IgxDataChartComponent spline series.
*/
var IgrSplineSeriesBase = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(IgrSplineSeriesBase, _super);
    function IgrSplineSeriesBase(props) {
        return _super.call(this, props) || this;
    }
    Object.defineProperty(IgrSplineSeriesBase.prototype, "i", {
        /**
                                     * @hidden
                                     */
        get: function () {
            return this._implementation;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSplineSeriesBase.prototype, "isSplineShapePartOfRange", {
        /**
         * Gets or sets whether to include the spline shape in the axis range requested of the axis.
        */
        get: function () {
            return this.i.zl;
        },
        set: function (v) {
            this.i.zl = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSplineSeriesBase.prototype, "isAreaOrLine", {
        /**
         * Gets whether the current series shows an area or line shape.
        */
        get: function () {
            return this.i.ea;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSplineSeriesBase.prototype, "splineType", {
        /**
         * Gets or sets the type of spline to be rendered.
        *
        * ```ts
        * this.series.splineType = SplineType.Clamped;
        * ```
        *
        * ```ts
        *  <IgrDataChart
        *     dataSource={this.state.dataSource} >
        *
        *     <IgrCategoryXAxis name="xAxis" />
        *     <IgrNumericYAxis name="yAxis" />
        *
        *     <IgrSplineAreaSeries
        *      name="series1"
        *      valueMemberPath="value"/>
        *  </IgrDataChart>
        * ```
        */
        get: function () {
            return this.i.zk;
        },
        set: function (v) {
            this.i.zk = ensureEnum(SplineType_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    return IgrSplineSeriesBase;
}(IgrHorizontalAnchoredCategorySeries));
export { IgrSplineSeriesBase };
