import * as tslib_1 from "tslib";
import { IgrStrategyBasedIndicator } from "./igr-strategy-based-indicator";
import { FullStochasticOscillatorIndicator } from "./FullStochasticOscillatorIndicator";
/**
 * Represents a IgxDataChartComponent Full Stochastic Oscillator indicator series.
 * Default required members: High, Low, Close
*/
var IgrFullStochasticOscillatorIndicator = /** @class */ (function (_super) {
    tslib_1.__extends(IgrFullStochasticOscillatorIndicator, _super);
    function IgrFullStochasticOscillatorIndicator(props) {
        return _super.call(this, props) || this;
    }
    IgrFullStochasticOscillatorIndicator.prototype.createImplementation = function () {
        return new FullStochasticOscillatorIndicator();
    };
    Object.defineProperty(IgrFullStochasticOscillatorIndicator.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrFullStochasticOscillatorIndicator.prototype, "period", {
        /**
         * Gets or sets the moving average period for the current FullStochasticOscillatorIndicator object.
         * The typical, and initial, value for FullStochasticOscillatorIndicator periods is 14.
        */
        get: function () {
            return this.i.ql;
        },
        set: function (v) {
            this.i.ql = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrFullStochasticOscillatorIndicator.prototype, "smoothingPeriod", {
        /**
         * Gets or sets the moving average SmoothingPeriod for the current FullStochasticOscillatorIndicator object.
         * The typical, and initial, value for FullStochasticOscillatorIndicator SmoothingPeriod is 3.
        */
        get: function () {
            return this.i.smoothingPeriod;
        },
        set: function (v) {
            this.i.smoothingPeriod = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrFullStochasticOscillatorIndicator.prototype, "triggerPeriod", {
        /**
         * Gets or sets the moving average TriggerPeriod for the current FullStochasticOscillatorIndicator object.
         * The typical, and initial, value for FullStochasticOscillatorIndicator TriggerPeriod is 3.
        */
        get: function () {
            return this.i.qn;
        },
        set: function (v) {
            this.i.qn = +v;
        },
        enumerable: true,
        configurable: true
    });
    return IgrFullStochasticOscillatorIndicator;
}(IgrStrategyBasedIndicator));
export { IgrFullStochasticOscillatorIndicator };
