import { IgxSeriesComponent } from "./igx-series-component";
/**
 * Provides data for IgxDataChartComponent mouse button related events.
*/
var IgxChartCursorEventArgs = /** @class */ /*@__PURE__*/ (function () {
    function IgxChartCursorEventArgs() {
    }
    Object.defineProperty(IgxChartCursorEventArgs.prototype, "i", {
        /**
         * @hidden
         */
        get: function () {
            return this._implementation;
        },
        enumerable: false,
        configurable: true
    });
    IgxChartCursorEventArgs.prototype.onImplementationCreated = function () {
    };
    IgxChartCursorEventArgs.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    };
    Object.defineProperty(IgxChartCursorEventArgs.prototype, "item", {
        /**
         * Gets the ItemsSource item associated with the current event.
        */
        get: function () {
            return this.i.item;
        },
        set: function (v) {
            this.i.item = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxChartCursorEventArgs.prototype, "series", {
        /**
         * Gets the series associated with the current event.
        */
        get: function () {
            if (this.i.series == null) {
                return null;
            }
            if (!this.i.series.externalObject) {
                var e = IgxSeriesComponent._createFromInternal(this.i.series);
                if (e) {
                    e._implementation = this.i.series;
                }
                this.i.series.externalObject = e;
            }
            return this.i.series.externalObject;
        },
        set: function (v) {
            v == null ? this.i.series = null : this.i.series = v.i;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxChartCursorEventArgs.prototype, "seriesViewer", {
        /**
         * Gets the Chart associated with the current event.
        */
        get: function () {
            if (this.i.seriesViewer == null) {
                return null;
            }
            return this.i.seriesViewer.externalObject;
        },
        set: function (v) {
            v == null ? this.i.seriesViewer = null : this.i.seriesViewer = v.i;
        },
        enumerable: false,
        configurable: true
    });
    /**
     * Provides a human readable expresion of the event arguments.
    
    */
    IgxChartCursorEventArgs.prototype.toString = function () {
        var iv = this.i.toString();
        return (iv);
    };
    return IgxChartCursorEventArgs;
}());
export { IgxChartCursorEventArgs };
