import * as tslib_1 from "tslib";
import { Component, forwardRef, ChangeDetectionStrategy } from '@angular/core';
import { IgxStrategyBasedIndicatorComponent } from "./igx-strategy-based-indicator-component";
import { IgxFinancialIndicatorComponent } from "./igx-financial-indicator-component";
import { IgxFinancialSeriesComponent } from "./igx-financial-series-component";
import { IgxSeriesComponent } from "./igx-series-component";
import { NegativeVolumeIndexIndicator } from "./NegativeVolumeIndexIndicator";
/**
 * Represents a IgxDataChartComponent Negative Volume Index indicator (NVI) series.
 * Default required members: Close, Volume
*
* The `IgxNegativeVolumeIndexIndicatorComponent` (NVI) is a finacial indicator frequently used in combination with the PositiveVolumeIndexIndicator. This calculation can be used to identify bull markets. These two indicators are based on the premise that smart money trades on low volume days and less informed or overly optimistic investors trade on high volume days.
*
* Using this indicator requires setting both the `CloseMemberPath` and `VolumeMemberPath`.
*
* ```html
* <igx-data-chart
*     width=500px
*     height=500px
*     [dataSource]="data" >
*     <igx-ordinal-time-x-axis
*         dateTimeMemberPath="TimeStamp"
*         #xAxis>
*       </igx-ordinal-time-x-axis>
*     <igx-numeric-y-axis
*        #yAxis></igx-numeric-y-axis>
*     <igx-negative-volume-index-indicator
*        [xAxis]="xAxis"
*        [yAxis]="yAxis"
*        volumeMemberPath="volume"
*        closeMemberPath="close">
*     </igx-negative-volume-index-indicator>
* </igx-data-chart>
* ```
*/
export var IgxNegativeVolumeIndexIndicatorComponent_PROVIDERS = [{ provide: IgxStrategyBasedIndicatorComponent, useExisting: forwardRef(function () { return IgxNegativeVolumeIndexIndicatorComponent; }) }, { provide: IgxFinancialIndicatorComponent, useExisting: forwardRef(function () { return IgxNegativeVolumeIndexIndicatorComponent; }) }, { provide: IgxFinancialSeriesComponent, useExisting: forwardRef(function () { return IgxNegativeVolumeIndexIndicatorComponent; }) }, { provide: IgxSeriesComponent, useExisting: forwardRef(function () { return IgxNegativeVolumeIndexIndicatorComponent; }) }];
var IgxNegativeVolumeIndexIndicatorComponent = /** @class */ (function (_super) {
    tslib_1.__extends(IgxNegativeVolumeIndexIndicatorComponent, _super);
    function IgxNegativeVolumeIndexIndicatorComponent() {
        return _super.call(this) || this;
    }
    IgxNegativeVolumeIndexIndicatorComponent_1 = IgxNegativeVolumeIndexIndicatorComponent;
    IgxNegativeVolumeIndexIndicatorComponent.prototype.createImplementation = function () {
        return new NegativeVolumeIndexIndicator();
    };
    Object.defineProperty(IgxNegativeVolumeIndexIndicatorComponent.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    var IgxNegativeVolumeIndexIndicatorComponent_1;
    IgxNegativeVolumeIndexIndicatorComponent = IgxNegativeVolumeIndexIndicatorComponent_1 = tslib_1.__decorate([
        Component({
            selector: 'igx-negative-volume-index-indicator',
            template: "",
            providers: [{ provide: IgxStrategyBasedIndicatorComponent, useExisting: forwardRef(function () { return IgxNegativeVolumeIndexIndicatorComponent_1; }) }, { provide: IgxFinancialIndicatorComponent, useExisting: forwardRef(function () { return IgxNegativeVolumeIndexIndicatorComponent_1; }) }, { provide: IgxFinancialSeriesComponent, useExisting: forwardRef(function () { return IgxNegativeVolumeIndexIndicatorComponent_1; }) }, { provide: IgxSeriesComponent, useExisting: forwardRef(function () { return IgxNegativeVolumeIndexIndicatorComponent_1; }) }],
            changeDetection: ChangeDetectionStrategy.OnPush
        }),
        tslib_1.__metadata("design:paramtypes", [])
    ], IgxNegativeVolumeIndexIndicatorComponent);
    return IgxNegativeVolumeIndexIndicatorComponent;
}(IgxStrategyBasedIndicatorComponent));
export { IgxNegativeVolumeIndexIndicatorComponent };
//# sourceMappingURL=igx-negative-volume-index-indicator-component.js.map