import { __extends } from "tslib";
import { IgrStrategyBasedIndicator } from "./igr-strategy-based-indicator";
import { ChaikinVolatilityIndicator } from "./ChaikinVolatilityIndicator";
/**
 * Represents a IgxDataChartComponent Chaikin Volatility indicator series.
 * The ChaikinVolatility indicator attempts to show volatility by displaying the spread between
 * the high and low values.
 * Default required members: High, Low
*
* `ChaikinVolatilityIndicator` class specify the series as Chaikin Volitility Indicator series.
*
* ```ts
*  <IgrDataChart
*     dataSource={this.state.dataSource} >
*
*     <IgrCategoryXAxis name="xAxis" />
*     <IgrNumericYAxis name="yAxis" />
*
*     <IgrChaikinVolatilityIndicator
*      name="series1"
*     xAxisName="xAxis"
* 	yAxisName="yAxis"
* 	openMemberPath="open"
*     highMemberPath="high"
*     lowMemberPath="low"
*     closeMemberPath="close"
*     volumeMemberPath="volume" />
*  </IgrDataChart>
* ```
*/
var IgrChaikinVolatilityIndicator = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(IgrChaikinVolatilityIndicator, _super);
    function IgrChaikinVolatilityIndicator(props) {
        return _super.call(this, props) || this;
    }
    IgrChaikinVolatilityIndicator.prototype.createImplementation = function () {
        return new ChaikinVolatilityIndicator();
    };
    Object.defineProperty(IgrChaikinVolatilityIndicator.prototype, "i", {
        /**
                                     * @hidden
                                     */
        get: function () {
            return this._implementation;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrChaikinVolatilityIndicator.prototype, "period", {
        /**
         * Gets or sets the moving average period for the current ChaikinVolatilityIndicator object.
         * The typical, and initial, value for ChaikinVolatilityIndicator periods is 10.
        *
        * Set the `Period` property if you wish to change the moving average period for the indicator.
        *
        * ```ts
        * this.series.longPeriod = 30;
        * ```
        *
        * ```ts
        *  <IgrDataChart
        *     dataSource={this.state.dataSource} >
        *
        *     <IgrCategoryXAxis name="xAxis" />
        *     <IgrNumericYAxis name="yAxis" />
        *
        *     <IgrChaikinVolatilityIndicator
        *      name="series1"
        *     xAxisName="xAxis"
        * 	yAxisName="yAxis"
        * 	openMemberPath="open"
        *     highMemberPath="high"
        *     lowMemberPath="low"
        *     closeMemberPath="close"
        *     volumeMemberPath="volume"
        *     period={30} />
        *  </IgrDataChart>
        * ```
        */
        get: function () {
            return this.i.ace;
        },
        set: function (v) {
            this.i.ace = +v;
        },
        enumerable: false,
        configurable: true
    });
    return IgrChaikinVolatilityIndicator;
}(IgrStrategyBasedIndicator));
export { IgrChaikinVolatilityIndicator };
