import * as tslib_1 from "tslib";
import { forwardRef } from '@angular/core';
import { IgxFinancialIndicatorComponent } from "./igx-financial-indicator-component";
import { IgxFinancialSeriesComponent } from "./igx-financial-series-component";
import { IgxSeriesComponent } from "./igx-series-component";
/**
 * A base class for indicator series with simple calculations that separates the calculation
 * responsibility from the other responsibilities of the financial series, this enables
 * easier unit testing and decoupling of individual calculation strategies.
 * A contract is defined between the financial series and these simple indicator calculations
 * detailing the data which the series agrees to provide the simple indicator calculations,
 * this contract is defined by FinancialCalculationDataSource. If more
 * complex interactions are needed between the indicator calculation and the series, the
 * indicators should instead derive from FinancialIndicator directly, or some
 * derivative other than StrategyBasedIndicator
*/
export var IgxStrategyBasedIndicatorComponent_PROVIDERS = [{ provide: IgxFinancialIndicatorComponent, useExisting: forwardRef(function () { return IgxStrategyBasedIndicatorComponent; }) }, { provide: IgxFinancialSeriesComponent, useExisting: forwardRef(function () { return IgxStrategyBasedIndicatorComponent; }) }, { provide: IgxSeriesComponent, useExisting: forwardRef(function () { return IgxStrategyBasedIndicatorComponent; }) }];
var IgxStrategyBasedIndicatorComponent = /** @class */ (function (_super) {
    tslib_1.__extends(IgxStrategyBasedIndicatorComponent, _super);
    function IgxStrategyBasedIndicatorComponent() {
        return _super.call(this) || this;
    }
    Object.defineProperty(IgxStrategyBasedIndicatorComponent.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    return IgxStrategyBasedIndicatorComponent;
}(IgxFinancialIndicatorComponent));
export { IgxStrategyBasedIndicatorComponent };
//# sourceMappingURL=igx-strategy-based-indicator-component.js.map