import { ensureBool, fromPoint, toPoint, fromRect, brushToString } from "igniteui-react-core";
/**
 * Contains PieChart click event data.
*/
export class IgrSliceEventArgs {
    /**
     * @hidden
     */
    get i() {
        return this._implementation;
    }
    onImplementationCreated() {
    }
    constructor() {
        this.mounted = false;
    }
    _provideImplementation(i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
        if (this._initializeAdapters) {
            this._initializeAdapters();
        }
    }
    /**
     * Gets or sets whether the slice is selected.
    */
    get isSelected() {
        return this.i.isSelected;
    }
    set isSelected(v) {
        this.i.isSelected = ensureBool(v);
    }
    /**
     * Gets or sets whether the slice is exploded.
    */
    get isExploded() {
        return this.i.isExploded;
    }
    set isExploded(v) {
        this.i.isExploded = ensureBool(v);
    }
    /**
     * Gets whether the current slice is part of the others slice.
    */
    get isOthersSlice() {
        return this.i.isOthersSlice;
    }
    /**
     * Gets the index of the slice that was clicked.
    */
    get index() {
        return this.i.index;
    }
    /**
     * Gets the origin location of the slice.
    */
    get origin() {
        return fromPoint(this.i.origin);
    }
    /**
     * Gets the radius of the slice.
    */
    get radius() {
        return this.i.radius;
    }
    /**
     * Gets the bounds of the slice.
    */
    get bounds() {
        return fromRect(this.i.bounds);
    }
    /**
     * Gets the start angle of the slice.
    */
    get startAngle() {
        return this.i.startAngle;
    }
    /**
     * Gets the end angle of the slice.
    */
    get endAngle() {
        return this.i.endAngle;
    }
    /**
     * Gets the fill color of the slice.
    */
    get fill() {
        return brushToString(this.i.fill);
    }
    /**
     * Gets the outline color of the slice.
    */
    get outline() {
        return brushToString(this.i.outline);
    }
    /**
     * Gets the slice data context.
    */
    get dataContext() {
        return this.i.dataContext;
    }
    /**
     * Gets the position of the mouse relative to the pie chart.
    */
    get position() {
        return fromPoint(this.i.position);
    }
    set position(v) {
        this.i.position = toPoint(v);
    }
    /**
     * Holds a reference to the original event that triggered slice click.
    */
    get originalEvent() {
        return this.i.originalEvent;
    }
    set originalEvent(v) {
        this.i.originalEvent = v;
    }
}
