declare const TypeId: unique symbol; /** * @since 1.0.0 * @category symbol */ export type TypeId = typeof TypeId; /** * @since 1.0.0 * @category models */ export interface MutableRef { readonly _id: TypeId; readonly _T: (_: never) => T; /** * @since 1.0.0 * @category general */ get(this: MutableRef): T; /** * @since 1.0.0 * @category general */ set(this: MutableRef, value: T): MutableRef; /** * @since 1.0.0 * @category general */ update(this: MutableRef, f: (value: T) => T): MutableRef; /** * @since 1.0.0 * @category general */ updateAndGet(this: MutableRef, f: (value: T) => T): T; /** * @since 1.0.0 * @category general */ getAndUpdate(this: MutableRef, f: (value: T) => T): T; /** * @since 1.0.0 * @category general */ setAndGet(this: MutableRef, value: T): T; /** * @since 1.0.0 * @category general */ getAndSet(this: MutableRef, value: T): T; /** * @since 1.0.0 * @category general */ compareAndSet(this: MutableRef, oldValue: T, newValue: T): boolean; /** * @since 1.0.0 * @category general */ pipe(this: MutableRef, f: (_: MutableRef) => B): B; } /** * @since 1.0.0 * @category constructors */ export declare const make: (value: T) => MutableRef; /** * @since 1.0.0 * @category general */ export declare const compareAndSet: { (self: MutableRef, oldValue: T, newValue: T): boolean; (oldValue: T, newValue: T): (self: MutableRef) => boolean; }; /** * @since 1.0.0 * @category numeric */ export declare const decrement: (self: MutableRef) => MutableRef; /** * @since 1.0.0 * @category numeric */ export declare const decrementAndGet: (self: MutableRef) => number; /** * @since 1.0.0 * @category general */ export declare const get: (self: MutableRef) => T; /** * @since 1.0.0 * @category numeric */ export declare const getAndDecrement: (self: MutableRef) => number; /** * @since 1.0.0 * @category numeric */ export declare const getAndIncrement: (self: MutableRef) => number; /** * @since 1.0.0 * @category general */ export declare const getAndSet: { (self: MutableRef, value: T): T; (value: T): (self: MutableRef) => T; }; /** * @since 1.0.0 * @category general */ export declare const getAndUpdate: { (self: MutableRef, f: (value: T) => T): T; (f: (value: T) => T): (self: MutableRef) => T; }; /** * @since 1.0.0 * @category numeric */ export declare const increment: (self: MutableRef) => MutableRef; /** * @since 1.0.0 * @category numeric */ export declare const incrementAndGet: (self: MutableRef) => number; /** * @since 1.0.0 * @category general */ export declare const set: { (self: MutableRef, value: T): MutableRef; (value: T): (self: MutableRef) => MutableRef; }; /** * @since 1.0.0 * @category general */ export declare const setAndGet: { (self: MutableRef, value: T): T; (value: T): (self: MutableRef) => T; }; /** * @since 1.0.0 * @category general */ export declare const update: { (self: MutableRef, f: (value: T) => T): MutableRef; (f: (value: T) => T): (self: MutableRef) => MutableRef; }; /** * @since 1.0.0 * @category general */ export declare const updateAndGet: { (self: MutableRef, f: (value: T) => T): T; (f: (value: T) => T): (self: MutableRef) => T; }; /** * @since 1.0.0 * @category boolean */ export declare const toggle: (self: MutableRef) => MutableRef; export {}; //# sourceMappingURL=MutableRef.d.ts.map