export default ObservedInteger;
declare class ObservedInteger extends Number {
    /**
     *
     * @param {number} [value=0]
     * @constructor
     */
    constructor(value?: number);
    /**
     * @readonly
     * @type {Signal}
     */
    readonly onChanged: Signal;
    /**
     *
     * @type {number}
     * @private
     */
    private __value;
    toString(): string;
    /**
     *
     * @param {number} value
     * @returns {this}
     */
    set(value: number): this;
    /**
     * Set value without dispatching change notification
     * @param {number} value
     */
    setSilent(value: number): void;
    /**
     *
     * @return {boolean}
     */
    isZero(): boolean;
    /**
     *
     * @param {ObservedInteger} other
     */
    subtract(other: ObservedInteger): void;
    /**
     *
     * @param {number} value
     */
    _subtract(value: number): void;
    /**
     *
     * @param {ObservedInteger} other
     */
    add(other: ObservedInteger): void;
    /**
     *
     * @param {number} value
     */
    _add(value: number): void;
    /**
     * Increment the stored value by 1, same as adding 1
     */
    increment(): void;
    /**
     * Decrement the stored value by 1, same as subtracting 1
     */
    decrement(): void;
    /**
     *
     * @returns {number}
     */
    getValue(): number;
    /**
     *
     * @param {ObservedInteger} other
     */
    copy(other: ObservedInteger): void;
    /**
     *
     * @param {ObservedInteger} other
     * @returns {boolean}
     */
    equals(other: ObservedInteger): boolean;
    /**
     *
     * @returns {number}
     */
    hash(): number;
    toJSON(): number;
    fromJSON(obj: any): void;
    /**
     *
     * @param {BinaryBuffer} buffer
     */
    toBinaryBuffer(buffer: BinaryBuffer): void;
    /**
     *
     * @param {BinaryBuffer} buffer
     */
    fromBinaryBuffer(buffer: BinaryBuffer): void;
    /**
     * @readonly
     * @type {boolean}
     */
    readonly isObservedInteger: boolean;
}
import Signal from "../events/signal/Signal.js";
//# sourceMappingURL=ObservedInteger.d.ts.map