import { AxisRangeChangedEventArgs as AxisRangeChangedEventArgs_internal } from "./AxisRangeChangedEventArgs";
/**
 * Provides data for Axis RangeChanged events.
*
* The `AxisRangeChangedEventArgs` event fire when the axis range changes.
*/
export class IgxAxisRangeChangedEventArgs {
    constructor() {
        this._implementation = this.createImplementation();
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    }
    createImplementation() {
        return new AxisRangeChangedEventArgs_internal(0);
    }
    /**
     * @hidden
     */
    get i() {
        return this._implementation;
    }
    onImplementationCreated() {
    }
    _provideImplementation(i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    }
    /**
     * 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 oldMinimumValue() {
        return this.i.oldMinimumValue;
    }
    set oldMinimumValue(v) {
        this.i.oldMinimumValue = +v;
    }
    /**
     * 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 minimumValue() {
        return this.i.minimumValue;
    }
    set minimumValue(v) {
        this.i.minimumValue = +v;
    }
    /**
     * 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 oldMaximumValue() {
        return this.i.oldMaximumValue;
    }
    set oldMaximumValue(v) {
        this.i.oldMaximumValue = +v;
    }
    /**
     * 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 maximumValue() {
        return this.i.maximumValue;
    }
    set maximumValue(v) {
        this.i.maximumValue = +v;
    }
}
