import { IgrCategoryAxisBase } from "./igr-category-axis-base";
import { CategoryAngleAxis } from "./CategoryAngleAxis";
/**
 * Represents a IgxDataChartComponent category angle axis. Useful for displaying radial categories.
*/
export class IgrCategoryAngleAxis extends IgrCategoryAxisBase {
    createImplementation() {
        return new CategoryAngleAxis();
    }
    get i() {
        return this._implementation;
    }
    constructor(props) {
        super(props);
    }
    /**
     * Checks if the axis is of angular type
    */
    get isAngular() {
        return this.i.b0;
    }
    /**
     * Indicates the angle in degress that the chart's 0th angle should be offset.
    */
    get startAngleOffset() {
        return this.i.lb;
    }
    set startAngleOffset(v) {
        this.i.lb = +v;
    }
    /**
     * Gets or sets the frequency of displayed labels.
     * The set value is a factor that determines which labels will be hidden. For example, an interval of 2 will display every other label.
    */
    get interval() {
        return this.i.k8;
    }
    set interval(v) {
        this.i.k8 = +v;
    }
    /**
     * Gets the effective value for the current Interval.
    */
    get actualInterval() {
        return this.i.k2;
    }
    set actualInterval(v) {
        this.i.k2 = +v;
    }
    /**
     * Gets or sets the frequency of displayed minor lines.
     * The set value is a factor that determines how the minor lines will be displayed.
    */
    get minorInterval() {
        return this.i.k9;
    }
    set minorInterval(v) {
        this.i.k9 = +v;
    }
    /**
     * Gets the effective value for the current MinorInterval.
    */
    get actualMinorInterval() {
        return this.i.k3;
    }
    set actualMinorInterval(v) {
        this.i.k3 = +v;
    }
    /**
     * Gets the scaled angle in radians from the raw axis value.
    
    * @param unscaledAngle  * The raw axis value.
    */
    getScaledAngle(unscaledAngle) {
        let iv = this.i.getScaledAngle(unscaledAngle);
        return (iv);
    }
    /**
     * Gets the raw axis value from the scaled angle in radians.
    
    */
    getUnscaledAngle(scaledAngle) {
        let iv = this.i.getUnscaledAngle(scaledAngle);
        return (iv);
    }
}
