import { IgxSeriesComponent } from './igx-series-component';
import { TypeRegistrar } from "igniteui-angular-core";
/**
 * Event arguments for the Financial Chart's custom indicator event.
*/
var IgxFinancialChartCustomIndicatorArgs = /** @class */ /*@__PURE__*/ (function () {
    function IgxFinancialChartCustomIndicatorArgs() {
    }
    Object.defineProperty(IgxFinancialChartCustomIndicatorArgs.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: false,
        configurable: true
    });
    IgxFinancialChartCustomIndicatorArgs.prototype.onImplementationCreated = function () {
    };
    IgxFinancialChartCustomIndicatorArgs.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    };
    Object.defineProperty(IgxFinancialChartCustomIndicatorArgs.prototype, "indicatorInfo", {
        get: function () {
            if (!this.i.indicatorInfo) {
                return null;
            }
            if (!this.i.indicatorInfo.externalObject && TypeRegistrar.isRegistered("igx-financial-event-args")) {
                var e = TypeRegistrar.create("igx-financial-event-args");
                e._implementation = this.i.indicatorInfo;
                this.i.indicatorInfo.externalObject = e;
            }
            if (this.i.indicatorInfo.externalObject) {
                return this.i.indicatorInfo.externalObject;
            }
            return null;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxFinancialChartCustomIndicatorArgs.prototype, "series", {
        /**
     * The Series in context.
    */
        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(IgxFinancialChartCustomIndicatorArgs.prototype, "index", {
        /**
         * An integer representing the position of the associated custom indicator in its host.
        */
        get: function () {
            return this.i.index;
        },
        set: function (v) {
            this.i.index = +v;
        },
        enumerable: false,
        configurable: true
    });
    return IgxFinancialChartCustomIndicatorArgs;
}());
export { IgxFinancialChartCustomIndicatorArgs };
