import * as tslib_1 from "tslib";
import { IgrStrategyBasedIndicator } from "./igr-strategy-based-indicator";
import { WilliamsPercentRIndicator } from "./WilliamsPercentRIndicator";
/**
 * Represents a IgxDataChartComponent Williams %R indicator series.
 * Default required members: High, Low, Close
*
* The `IgrWilliamsPercentRIndicator` scale ranges from 0 to -100. It is useful for identifying overbought and oversold securities.
* The `IgrWilliamsPercentRIndicator` is calculated by dividing the difference between the highest high for the period and the current close by the highest high minus the lowest low for the period.
*/
var IgrWilliamsPercentRIndicator = /** @class */ (function (_super) {
    tslib_1.__extends(IgrWilliamsPercentRIndicator, _super);
    function IgrWilliamsPercentRIndicator(props) {
        return _super.call(this, props) || this;
    }
    IgrWilliamsPercentRIndicator.prototype.createImplementation = function () {
        return new WilliamsPercentRIndicator();
    };
    Object.defineProperty(IgrWilliamsPercentRIndicator.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrWilliamsPercentRIndicator.prototype, "period", {
        /**
         * Gets or sets the moving average period for the current StandardDeviationIndicator object.
         * The typical, and initial, value for Williams %R periods is 14.
        *
        * Gets or sets the `period` for the moving average period.
        *
        * The typical, and initial, value for Williams %R periods is 14.
        *
        * ```ts
        * this.series.period = 30;
        * ```
        */
        get: function () {
            return this.i.qq;
        },
        set: function (v) {
            this.i.qq = +v;
        },
        enumerable: true,
        configurable: true
    });
    return IgrWilliamsPercentRIndicator;
}(IgrStrategyBasedIndicator));
export { IgrWilliamsPercentRIndicator };
