import * as tslib_1 from "tslib";
import { NumericScaleMode_$type } from "./NumericScaleMode";
import { IgrNumericAxisBase } from "./igr-numeric-axis-base";
import { ensureEnum } from "igniteui-react-core/ES5/componentUtil";
/**
 * Defines a set of basic methods and properties used to create a StraightNumeric axis.
*/
var IgrStraightNumericAxisBase = /** @class */ (function (_super) {
    tslib_1.__extends(IgrStraightNumericAxisBase, _super);
    function IgrStraightNumericAxisBase(props) {
        return _super.call(this, props) || this;
    }
    Object.defineProperty(IgrStraightNumericAxisBase.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrStraightNumericAxisBase.prototype, "scaleMode", {
        /**
         * Gets or sets the axis scale mode.
        */
        get: function () {
            return this.i.k4;
        },
        set: function (v) {
            this.i.k4 = ensureEnum(NumericScaleMode_$type, v);
        },
        enumerable: true,
        configurable: true
    });
    return IgrStraightNumericAxisBase;
}(IgrNumericAxisBase));
export { IgrStraightNumericAxisBase };
