import type { Option } from "../../Option"; import * as T from "../Task/_core"; import type { XRefM } from "./model"; /** * Atomically modifies the `RefM` with the specified function, which computes * a return value for the modification. This is a more powerful version of * `update`. */ export declare const modify_: ( self: XRefM, f: (a: A) => T.Task ) => T.Task; /** * Atomically modifies the `RefM` with the specified function, which computes * a return value for the modification. This is a more powerful version of * `update`. */ export declare const modify: ( f: (a: A) => T.Task ) => (self: XRefM) => T.Task; /** * Writes a new value to the `RefM`, returning the value immediately before * modification. */ export declare const getAndSet_: ( self: XRefM, a: A ) => T.Task; /** * Writes a new value to the `RefM`, returning the value immediately before * modification. */ export declare const getAndSet: ( a: A ) => (self: XRefM) => T.Task; /** * Atomically modifies the `RefM` with the specified function, returning the * value immediately before modification. */ export declare const getAndUpdate_: ( self: XRefM, f: (a: A) => T.Task ) => T.Task; /** * Atomically modifies the `RefM` with the specified function, returning the * value immediately before modification. */ export declare const getAndUpdate: ( f: (a: A) => T.Task ) => (self: XRefM) => T.Task; /** * Atomically modifies the `RefM` with the specified function, returning the * value immediately before modification. */ export declare const getAndUpdateSome_: ( self: XRefM, f: (a: A) => Option> ) => T.Task; /** * Atomically modifies the `RefM` with the specified function, returning the * value immediately before modification. */ export declare const getAndUpdateSome: ( f: (a: A) => Option> ) => (self: XRefM) => T.Task; /** * Atomically modifies the `RefM` with the specified function, which computes * a return value for the modification if the function is defined in the current value * otherwise it returns a default value. * This is a more powerful version of `updateSome`. */ export declare const modifySome_: ( self: XRefM, def: B, f: (a: A) => Option> ) => T.Task; /** * Atomically modifies the `RefM` with the specified function, which computes * a return value for the modification if the function is defined in the current value * otherwise it returns a default value. * This is a more powerful version of `updateSome`. */ export declare const modifySome: ( def: B ) => ( f: (a: A) => Option> ) => (self: XRefM) => T.Task; /** * Atomically modifies the `RefM` with the specified function. */ export declare const update_: ( self: XRefM, f: (a: A) => T.Task ) => T.Task; /** * Atomically modifies the `RefM` with the specified function. */ export declare const update: ( f: (a: A) => T.Task ) => (self: XRefM) => T.Task; /** * Atomically modifies the `RefM` with the specified function. */ export declare const updateAndGet_: ( self: XRefM, f: (a: A) => T.Task ) => T.Task; /** * Atomically modifies the `RefM` with the specified function. */ export declare const updateAndGet: ( f: (a: A) => T.Task ) => (self: XRefM) => T.Task; /** * Atomically modifies the `RefM` with the specified function. */ export declare const updateSome_: ( self: XRefM, f: (a: A) => Option> ) => T.Task; /** * Atomically modifies the `RefM` with the specified function. */ export declare const updateSome: ( f: (a: A) => Option> ) => (self: XRefM) => T.Task; /** * Atomically modifies the `RefM` with the specified function. */ export declare const updateSomeAndGet_: ( self: XRefM, f: (a: A) => Option> ) => T.Task; /** * Atomically modifies the `RefM` with the specified function. */ export declare const updateSomeAndGet: ( f: (a: A) => Option> ) => (self: XRefM) => T.Task; /** * Maps and filters the `get` value of the `XRefM` with the specified * effectual partial function, returning a `XRefM` with a `get` value that * succeeds with the result of the partial function if it is defined or else * fails with `None`. */ export declare const collectM_: ( self: XRefM, f: (b: B) => Option> ) => XRefM, A, C>; /** * Maps and filters the `get` value of the `XRefM` with the specified * effectual partial function, returning a `XRefM` with a `get` value that * succeeds with the result of the partial function if it is defined or else * fails with `None`. */ export declare const collectM: ( f: (b: B) => Option> ) => (self: XRefM) => XRefM, A, C>; /** * Maps and filters the `get` value of the `XRefM` with the specified partial * function, returning a `XRefM` with a `get` value that succeeds with the * result of the partial function if it is defined or else fails with `None`. */ export declare const collect_: ( self: XRefM, f: (b: B) => Option ) => XRefM, A, C>; /** * Maps and filters the `get` value of the `XRefM` with the specified partial * function, returning a `XRefM` with a `get` value that succeeds with the * result of the partial function if it is defined or else fails with `None`. */ export declare const collect: ( f: (b: B) => Option ) => (self: XRefM) => XRefM, A, C>; /** * Returns a read only view of the `XRefM`. */ export declare const readOnly: ( self: XRefM ) => XRefM; /** * Returns a read only view of the `XRefM`. */ export declare const writeOnly: ( self: XRefM ) => XRefM; //# sourceMappingURL=combinators.d.ts.map