import { UIO } from './IO/fluent'; export interface Ref { read: UIO; write: (a: A) => UIO; modify: (f: (a: A) => [B, A]) => UIO; update: (f: (a: A) => A) => UIO; update_: (f: (a: A) => A) => UIO; } export declare class IORef implements Ref { private value; static make: (a: A_1) => UIO>; private constructor(); read: UIO; write: (a: A) => UIO; modify: (f: (a: A) => [B, A]) => UIO; update: (f: (a: A) => A) => UIO; update_: (f: (a: A) => A) => UIO; }