/// import { ReplicatedData, Clock } from '.'; import { Serializable } from '../serializable'; /** * A Replicated Register data type. * * @remarks * * A ReplicatedRegister uses a clock to determine which of two concurrent updates should win. The * last write wins. The clock is represented as a number. The default clock uses the proxies system * time, custom clocks can supply a custom number to be used. If two clock values are equal, the * write from the node with the lowest address wins. * * @typeParam Value - Type of value stored by the register * * @public */ export declare class ReplicatedRegister implements ReplicatedData { private currentValue; private delta; /** * Create a new Replicated Register. * * @param value - A value to hold in the register * @param clock - The clock to use, otherwise default clock * @param customClockValue - The custom clock value, if using a custom clock */ constructor(value: Value, clock?: Clock, customClockValue?: number | Long); /** * Get or set the value of this register. * * @remarks Sets with the default clock. */ get value(): Value; set value(value: Value); /** * Set the value using a custom clock. * * @param value - The value to set * @param clock - The clock, otherwise the default clock * @param customClockValue - Custom clock value, or ignored if a custom clock isn't specified */ setWithClock: (value: Value, clock?: Clock, customClockValue?: number | Long) => ReplicatedRegister; private resetDelta; toString: () => string; }