import { NumericScaleMode_$type } from "./NumericScaleMode";
import { IgrNumericAxisBase } from "./igr-numeric-axis-base";
import { ensureEnum } from "igniteui-react-core/ES2015/componentUtil";
/**
 * Defines a set of basic methods and properties used to create a StraightNumeric axis.
*/
export class IgrStraightNumericAxisBase extends IgrNumericAxisBase {
    constructor(props) {
        super(props);
    }
    get i() {
        return this._implementation;
    }
    /**
     * Gets or sets the axis scale mode.
    *
    * `scaleMode` can be used on numeric axes to allow scaling data values using built-in scalers. The available scalers are linear or logarithmic.
    *
    * ```ts
    * this.yAxis.scaleMode = NumericScaleMode.Logarithmic;
    * ```
    *
    * ```ts
    *  <IgrDataChart
    *     dataSource={this.state.dataSource} >
    *
    *     <IgrCategoryXAxis name="xAxis" />
    *     <IgrNumericYAxis name="yAxis" scaleMode="logarithmic" />
    *
    *     <IgrLineSeries
    *      name="series1"
    *     xAxisName="xAxis"
    * 	yAxisName="yAxis"
    * 	valueMemberPath="Value"
    * />
    *  </IgrDataChart>
    * ```
    */
    get scaleMode() {
        return this.i.k5;
    }
    set scaleMode(v) {
        this.i.k5 = ensureEnum(NumericScaleMode_$type, v);
    }
}
