import { AxisRangeChangedEventArgs as AxisRangeChangedEventArgs_internal } from "./AxisRangeChangedEventArgs";
/**
 * Provides data for Axis RangeChanged events.
*
* The `AxisRangeChangedEventArgs` event fire when the axis range changes.
*
* ```ts
* <IgrDataChart
*     dataSource={this.state.dataSource}
*     width="700px"
*     height="500px">
* 		<IgrCategoryXAxis name="xAxis" label="Date" />
* 		<IgrNumericYAxis  name="yAxis" rangeChanaged={this.yAxisRangeChanged} />
*     <IgrFinancialPriceSeries
* 		name="series2"
* 		xAxisName="xAxis"
* 		yAxisName="yAxis"
* 		displayType="Candlestick"
* 		lowMemberPath="Low"
* 		highMemberPath="High"
* 		openMemberPath="Open"
* 		closeMemberPath="Close"
* 		volumeMemberPath="Volume" />
*  </IgrDataChart>
* ```
*
* ```ts
*   axis.rangeChanged.bind(this.yAxisRangeChanged);
*   public yAxisRangeChanged(sender : any, e: AxisRangeChangedEventArgs) =>  {
*
*    }
* ```
*/
var IgrAxisRangeChangedEventArgs = /** @class */ /*@__PURE__*/ (function () {
    function IgrAxisRangeChangedEventArgs() {
        this._implementation = this.createImplementation();
        this._implementation.externalObject = this;
        this.onImplementationCreated();
        if (this._initializeAdapters) {
            this._initializeAdapters();
        }
    }
    IgrAxisRangeChangedEventArgs.prototype.createImplementation = function () {
        return new AxisRangeChangedEventArgs_internal(0);
    };
    Object.defineProperty(IgrAxisRangeChangedEventArgs.prototype, "i", {
        /**
         * @hidden
         */
        get: function () {
            return this._implementation;
        },
        enumerable: false,
        configurable: true
    });
    IgrAxisRangeChangedEventArgs.prototype.onImplementationCreated = function () {
    };
    IgrAxisRangeChangedEventArgs.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
        if (this._initializeAdapters) {
            this._initializeAdapters();
        }
    };
    Object.defineProperty(IgrAxisRangeChangedEventArgs.prototype, "oldMinimumValue", {
        /**
         * Gets the minimum value before the range changed. The reported minimum is the effective,
         * not the set value.
        *
        * The `OldMinimumValue` property is used to gets the minimum value before the range changed.
        */
        get: function () {
            return this.i.oldMinimumValue;
        },
        set: function (v) {
            this.i.oldMinimumValue = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrAxisRangeChangedEventArgs.prototype, "minimumValue", {
        /**
         * Gets the minimum value after the range changed. The reported minimum is the effective,
         * not the set value.
        *
        * The `MinimumValue` property is used to getsthe minimum value after the range changed.
        *
        * ```ts
        *   public yAxisRangeChanged(sender : any, e: AxisRangeChangedEventArgs) :void {
        * 	let maxVal= e.maximumValue
        * 	let minVal= e.minimumValue
        *
        *     }
        * ```
        */
        get: function () {
            return this.i.minimumValue;
        },
        set: function (v) {
            this.i.minimumValue = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrAxisRangeChangedEventArgs.prototype, "oldMaximumValue", {
        /**
         * Gets the maximum value before the range changed. The reported maximum is the effective,
         * not the set value.
        *
        * The `OldMaximumValue` property is used to gets the maximum value before the range changed.
        */
        get: function () {
            return this.i.oldMaximumValue;
        },
        set: function (v) {
            this.i.oldMaximumValue = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrAxisRangeChangedEventArgs.prototype, "maximumValue", {
        /**
         * Gets the maximum value after the range changed. The reported maximum is the effective,
         * not the set value.
        *
        * The `MaximumValue` property is used to gets the maximum value after the range changed.
        *
        * ```ts
        *   public yAxisRangeChanged(sender : any, e: AxisRangeChangedEventArgs) :void {
        * 	let maxVal= e.maximumValue
        * 	let minVal= e.minimumValue
        *
        *     }
        * ```
        */
        get: function () {
            return this.i.maximumValue;
        },
        set: function (v) {
            this.i.maximumValue = +v;
        },
        enumerable: false,
        configurable: true
    });
    return IgrAxisRangeChangedEventArgs;
}());
export { IgrAxisRangeChangedEventArgs };
