import { IgrAxis } from "./igr-axis";
import { ensureBool } from "igniteui-react-core/ES2015/componentUtil";
/**
 * Represents the base class for all IgxDataChartComponent numeric axes.
*/
export class IgrNumericAxisBase extends IgrAxis {
    constructor(props) {
        super(props);
    }
    get i() {
        return this._implementation;
    }
    /**
     * Gets or sets if the current axis is of numeric axis type
    */
    get isNumeric() {
        return this.i.ca;
    }
    /**
     * Gets or sets the MinimumValue property.
    */
    get minimumValue() {
        return this.i.j4;
    }
    set minimumValue(v) {
        this.i.j4 = +v;
    }
    /**
     * Gets the effective minimum value for the current numeric axis object.
    */
    get actualMinimumValue() {
        return this.i.jw;
    }
    /**
     * Gets the effective minimum value for the current numeric axis object.
    */
    get actualVisibleMinimumValue() {
        return this.i.jz;
    }
    /**
     * Gets or sets the MaximumValue property.
    */
    get maximumValue() {
        return this.i.j3;
    }
    set maximumValue(v) {
        this.i.j3 = +v;
    }
    /**
     * Gets the effective maximum value for the current numeric axis object.
    */
    get actualMaximumValue() {
        return this.i.jv;
    }
    /**
     * Gets the effective visible maximum value for the current numeric axis object.
    */
    get actualVisibleMaximumValue() {
        return this.i.jy;
    }
    /**
     * Gets or sets the Interval property.
    */
    get interval() {
        return this.i.j0;
    }
    set interval(v) {
        this.i.j0 = +v;
    }
    /**
     * Gets the effective value for the current Interval.
    */
    get actualInterval() {
        return this.i.ju;
    }
    /**
     * Gets or sets the MinorInterval property.
    */
    get minorInterval() {
        return this.i.j5;
    }
    set minorInterval(v) {
        this.i.j5 = +v;
    }
    /**
     * Gets the effective value for the current MinorInterval.
    */
    get actualMinorInterval() {
        return this.i.jx;
    }
    /**
     * Gets or sets the ReferenceValue property.
    */
    get referenceValue() {
        return this.i.j6;
    }
    set referenceValue(v) {
        this.i.j6 = +v;
    }
    /**
     * Gets or sets the IsLogarithmic property.
    */
    get isLogarithmic() {
        return this.i.jl;
    }
    set isLogarithmic(v) {
        this.i.jl = ensureBool(v);
    }
    /**
     * Determines if the axis has a valid logarithmic scale.
    */
    get actualIsLogarithmic() {
        return this.i.jh;
    }
    /**
     * Gets or sets the LogarithmBase property.
    */
    get logarithmBase() {
        return this.i.j8;
    }
    set logarithmBase(v) {
        this.i.j8 = +v;
    }
    /**
     * Determines if the axis has a user-defined minimum.
    */
    get hasUserMinimum() {
        return this.i.jk;
    }
    /**
     * Determines if the axis has a user-defined maximum.
    */
    get hasUserMaximum() {
        return this.i.jj;
    }
    get abbreviateLargeNumbers() {
        return this.i.jg;
    }
    set abbreviateLargeNumbers(v) {
        this.i.jg = ensureBool(v);
    }
    /**
     * Unscales a value from screen space into axis space.
    
    * @param unscaledValue  * The scaled value in screen coordinates to unscale into axis space.
    */
    unscaleValue(unscaledValue) {
        let iv = this.i.j7(unscaledValue);
        return (iv);
    }
}
