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.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data">
    *     <igx-category-x-axis
    *         label="label"
    *         #xAxis>
    *     </igx-category-x-axis>
    *     <igx-numeric-y-axis
    *         #yAxis
    *         scaleMode="logarithmic">
    *     </igx-numeric-y-axis>
    *     <igx-line-series
    *         [xAxis]="xAxis"
    *         [yAxis]="yAxis"
    *         valueMemberPath="value">
    *     </igx-line-series>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * this.yAxis.scaleMode = NumericScaleMode.Logarithmic;
    * ```
    */
    get scaleMode() {
        return this.i.k5;
    }
    set scaleMode(v) {
        this.i.k5 = ensureEnum(NumericScaleMode_$type, v);
    }
}
