export default BoundedValue;
declare class BoundedValue {
    /**
     *
     * @param {Number} currentValue
     * @param {Number} upperLimit
     * @param {Number} [lowerLimit=0]
     * @constructor
     */
    constructor(currentValue: number, upperLimit: number, lowerLimit?: number);
    /**
     * @property {Number}
     * @private
     */
    private __value;
    /**
     * @property {Number}
     * @private
     */
    private __limitUpper;
    /**
     * @type {Number}
     * @private
     */
    private __limitLower;
    onChanged: Signal<any, any, any, any, any, any, any, any>;
    onOverflow: Signal<any, any, any, any, any, any, any, any>;
    onFilled: Signal<any, any, any, any, any, any, any, any>;
    on: {
        changed: Signal<any, any, any, any, any, any, any, any>;
        overflow: Signal<any, any, any, any, any, any, any, any>;
    };
    /**
     *
     * @param {Number} v
     */
    setUpperLimit(v: number): void;
    /**
     *
     * @returns {Number}
     */
    getUpperLimit(): number;
    /**
     *
     * @returns {Number}
     */
    getLowerLimit(): number;
    /**
     *
     * @param {Number} v
     */
    setLowerLimit(v: number): void;
    /**
     *
     * @param {Number} v
     */
    setValue(v: number): void;
    /**
     *
     * @returns {Number}
     */
    getValue(): number;
    /**
     *
     * @returns {number}
     */
    getFraction(): number;
    /**
     *
     */
    setValueToLimit(): void;
    /**
     *
     * @return {boolean}
     */
    isValueAtLimit(): boolean;
    /**
     *
     * @param {Number} val
     */
    addValue(val: number): void;
    /**
     *
     * @param {BoundedValue} other
     * @returns {BoundedValue}
     */
    copy(other: BoundedValue): BoundedValue;
    /**
     *
     * @param {BoundedValue} other
     * @returns {boolean}
     */
    equals(other: BoundedValue): boolean;
    /**
     *
     * @returns {number}
     */
    hash(): number;
    toJSON(): {
        value: number;
        limit: number;
    };
    fromJSON(json: any): void;
    /**
     *
     * @param {BinaryBuffer} buffer
     */
    toBinaryBuffer(buffer: BinaryBuffer): void;
    /**
     *
     * @param {BinaryBuffer} buffer
     */
    fromBinaryBuffer(buffer: BinaryBuffer): void;
}
import Signal from "../events/signal/Signal.js";
//# sourceMappingURL=BoundedValue.d.ts.map