import * as tslib_1 from "tslib";
import { IgrStrategyBasedIndicator } from "./igr-strategy-based-indicator";
import { StochRSIIndicator } from "./StochRSIIndicator";
/**
 * Represents a IgxDataChartComponent StochRSI indicator series.
 * Default required members: Close
*
* `IgrStochRSIIndicator` or Stochastic Relative Strength IndexI Indicator (SRSI) measures when a security is overbought or oversold within a specified period of time. The values range from 0 to 1. The StochRSI Indicator is calculated by applying the Stochastic Oscillator formula to RelativeStrengthIndexIndicator (RSI) data.
*
* Using this indicator requires setting the `CloseMemberPath`.
*
* ```ts
*  <IgrDataChart
*     dataSource={this.state.dataSource} >
*
*     <IgrOrdinalTimeXAxis name="xAxis" />
*     <IgrNumericYAxis name="yAxis" />
*
*     <IgrStochRSIIndicator
*      name="series1"
*     xAxisName="xAxis"
* 	yAxisName="yAxis"
* 	closeMemberPath="Close"/>
*  </IgrDataChart>
* ```
*/
var IgrStochRSIIndicator = /** @class */ (function (_super) {
    tslib_1.__extends(IgrStochRSIIndicator, _super);
    function IgrStochRSIIndicator(props) {
        return _super.call(this, props) || this;
    }
    IgrStochRSIIndicator.prototype.createImplementation = function () {
        return new StochRSIIndicator();
    };
    Object.defineProperty(IgrStochRSIIndicator.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrStochRSIIndicator.prototype, "period", {
        /**
         * Gets or sets the moving average period for the current StochRSIIndicator object.
         * The typical, and initial, value for StochRSI periods is 14.
        *
        * ```ts
        * this.series.period = 10;
        * ```
        *
        * ```ts
        *  <IgrDataChart
        *     dataSource={this.state.dataSource} >
        *
        *     <IgrOrdinalTimeXAxis name="xAxis" />
        *     <IgrNumericYAxis name="yAxis" />
        *
        *     <IgrStochRSIIndicator
        *      name="series1"
        *     xAxisName="xAxis"
        * 	yAxisName="yAxis"
        * 	closeMemberPath="Close"
        * 	period=10/>
        *  </IgrDataChart>
        * ```
        */
        get: function () {
            return this.i.qq;
        },
        set: function (v) {
            this.i.qq = +v;
        },
        enumerable: true,
        configurable: true
    });
    return IgrStochRSIIndicator;
}(IgrStrategyBasedIndicator));
export { IgrStochRSIIndicator };
