import * as tslib_1 from "tslib";
var IgxNegativeVolumeIndexIndicatorComponent_1;
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>
* ```
*
* ```ts
* let series = new IgxNegativeVolumeIndexIndicatorComponent();
* series.xAxis = this.xAxis;
* series.yAxis = this.yAxis;
* series.closeMemberPath = "Close";
* series.volumeMemberPath = "Volume";
* series.dataSource = this.data;
* this.chart.series.add(series);
* ```
*/
export const IgxNegativeVolumeIndexIndicatorComponent_PROVIDERS = [{ provide: IgxStrategyBasedIndicatorComponent, useExisting: forwardRef(() => IgxNegativeVolumeIndexIndicatorComponent) }, { provide: IgxFinancialIndicatorComponent, useExisting: forwardRef(() => IgxNegativeVolumeIndexIndicatorComponent) }, { provide: IgxFinancialSeriesComponent, useExisting: forwardRef(() => IgxNegativeVolumeIndexIndicatorComponent) }, { provide: IgxSeriesComponent, useExisting: forwardRef(() => IgxNegativeVolumeIndexIndicatorComponent) }];
let IgxNegativeVolumeIndexIndicatorComponent = IgxNegativeVolumeIndexIndicatorComponent_1 = class IgxNegativeVolumeIndexIndicatorComponent extends IgxStrategyBasedIndicatorComponent {
    constructor() {
        super();
    }
    createImplementation() {
        return new NegativeVolumeIndexIndicator();
    }
    /**
                                 * @hidden
                                 */
    get i() {
        return this._implementation;
    }
};
IgxNegativeVolumeIndexIndicatorComponent = IgxNegativeVolumeIndexIndicatorComponent_1 = tslib_1.__decorate([
    Component({
        selector: 'igx-negative-volume-index-indicator',
        template: ``,
        providers: [{ provide: IgxStrategyBasedIndicatorComponent, useExisting: forwardRef(() => IgxNegativeVolumeIndexIndicatorComponent_1) }, { provide: IgxFinancialIndicatorComponent, useExisting: forwardRef(() => IgxNegativeVolumeIndexIndicatorComponent_1) }, { provide: IgxFinancialSeriesComponent, useExisting: forwardRef(() => IgxNegativeVolumeIndexIndicatorComponent_1) }, { provide: IgxSeriesComponent, useExisting: forwardRef(() => IgxNegativeVolumeIndexIndicatorComponent_1) }],
        changeDetection: ChangeDetectionStrategy.OnPush
    }),
    tslib_1.__metadata("design:paramtypes", [])
], IgxNegativeVolumeIndexIndicatorComponent);
export { IgxNegativeVolumeIndexIndicatorComponent };
//# sourceMappingURL=igx-negative-volume-index-indicator-component.js.map