import { AxisAngleLabelMode_$type } from "./AxisAngleLabelMode";
import { IgrNumericAxisBase } from "./igr-numeric-axis-base";
import { NumericAngleAxis } from "./NumericAngleAxis";
import { ensureEnum } from "igniteui-react-core";
/**
 * Represents a IgxDataChartComponent angle based axis for polar series.
*/
export class IgrNumericAngleAxis extends IgrNumericAxisBase {
    createImplementation() {
        return new NumericAngleAxis();
    }
    /**
                                 * @hidden
                                 */
    get i() {
        return this._implementation;
    }
    constructor(props) {
        super(props);
    }
    /**
     * Gets if the current axis is of angular axis type
    */
    get isAngular() {
        return this.i.b9;
    }
    /**
     * Indicates the angle in degress that the chart's 0th angle should be offset.
    */
    get startAngleOffset() {
        return this.i.nu;
    }
    set startAngleOffset(v) {
        this.i.nu = +v;
    }
    /**
     * Indicates the mode axis labels will operate in.
    */
    get labelMode() {
        return this.i.ni;
    }
    set labelMode(v) {
        this.i.ni = ensureEnum(AxisAngleLabelMode_$type, v);
    }
    /**
     * Gets the scaled angle value in radians based on the raw input.
    
    * @param unscaledAngle  * The unscaled angle.
    */
    getScaledAngle(unscaledAngle) {
        let iv = this.i.getScaledAngle(unscaledAngle);
        return (iv);
    }
    /**
     * Gets the raw axis value back from the angle that would be used on the chart.
    
    * @param scaledAngle  * The chart angle value.
    */
    getUnscaledAngle(scaledAngle) {
        let iv = this.i.getUnscaledAngle(scaledAngle);
        return (iv);
    }
}
