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