/** * @since 2.0.0 */ import { Either } from './Either'; import { IO } from './IO'; import { IOEither } from './IOEither'; import { Monad4 } from './Monad'; import { Reader } from './Reader'; import { ReaderEither } from './ReaderEither'; import * as RTE from './ReaderTaskEither'; import { State } from './State'; import { Task } from './Task'; import { TaskEither } from './TaskEither'; import ReaderTaskEither = RTE.ReaderTaskEither; import { MonadThrow4 } from './MonadThrow'; declare module './HKT' { interface URItoKind4 { StateReaderTaskEither: StateReaderTaskEither; } } /** * @since 2.0.0 */ export declare const URI = "StateReaderTaskEither"; /** * @since 2.0.0 */ export declare type URI = typeof URI; /** * @since 2.0.0 */ export interface StateReaderTaskEither { (s: S): ReaderTaskEither; } /** * @since 2.0.0 */ export declare function run(ma: StateReaderTaskEither, s: S, r: R): Promise>; /** * Run a computation in the `StateReaderTaskEither` monad, discarding the final state * * @since 2.0.0 */ export declare const evalState: (ma: StateReaderTaskEither, s: S) => ReaderTaskEither; /** * Run a computation in the `StateReaderTaskEither` monad discarding the result * * @since 2.0.0 */ export declare const execState: (ma: StateReaderTaskEither, s: S) => ReaderTaskEither; /** * @since 2.0.0 */ export declare function left(e: E): StateReaderTaskEither; /** * @since 2.0.0 */ export declare const right: (a: A) => StateReaderTaskEither; /** * @since 2.0.0 */ export declare function rightTask(ma: Task): StateReaderTaskEither; /** * @since 2.0.0 */ export declare function leftTask(me: Task): StateReaderTaskEither; /** * @since 2.0.0 */ export declare function fromTaskEither(ma: TaskEither): StateReaderTaskEither; /** * @since 2.0.0 */ export declare function rightReader(ma: Reader): StateReaderTaskEither; /** * @since 2.0.0 */ export declare function leftReader(me: Reader): StateReaderTaskEither; /** * @since 2.0.0 */ export declare function fromIOEither(ma: IOEither): StateReaderTaskEither; /** * @since 2.0.0 */ export declare function fromReaderEither(ma: ReaderEither): StateReaderTaskEither; /** * @since 2.0.0 */ export declare function rightIO(ma: IO): StateReaderTaskEither; /** * @since 2.0.0 */ export declare function leftIO(me: IO): StateReaderTaskEither; /** * @since 2.0.0 */ export declare const rightState: (ma: State) => StateReaderTaskEither; /** * @since 2.0.0 */ export declare function leftState(me: State): StateReaderTaskEither; /** * @since 2.0.0 */ export declare const fromReaderTaskEither: (ma: ReaderTaskEither) => StateReaderTaskEither; /** * Get the current state * * @since 2.0.0 */ export declare const get: () => StateReaderTaskEither; /** * Set the state * * @since 2.0.0 */ export declare const put: (s: S) => StateReaderTaskEither; /** * Modify the state by applying a function to the current state * * @since 2.0.0 */ export declare const modify: (f: (s: S) => S) => StateReaderTaskEither; /** * Get a value which depends on the current state * * @since 2.0.0 */ export declare const gets: (f: (s: S) => A) => StateReaderTaskEither; /** * @since 2.0.0 */ export declare const stateReaderTaskEither: Monad4 & MonadThrow4; /** * Like `stateReaderTaskEither` but `ap` is sequential * @since 2.0.0 */ export declare const stateReaderTaskEitherSeq: typeof stateReaderTaskEither; declare const ap: (fa: StateReaderTaskEither) => (fab: StateReaderTaskEither B>) => StateReaderTaskEither, apFirst: (fb: StateReaderTaskEither) => (fa: StateReaderTaskEither) => StateReaderTaskEither, apSecond: (fb: StateReaderTaskEither) => (fa: StateReaderTaskEither) => StateReaderTaskEither, chain: (f: (a: A) => StateReaderTaskEither) => (ma: StateReaderTaskEither) => StateReaderTaskEither, chainFirst: (f: (a: A) => StateReaderTaskEither) => (ma: StateReaderTaskEither) => StateReaderTaskEither, flatten: (mma: StateReaderTaskEither>) => StateReaderTaskEither, map: (f: (a: A) => B) => (fa: StateReaderTaskEither) => StateReaderTaskEither, fromEither: (ma: Either) => StateReaderTaskEither, fromOption: (onNone: () => E) => (ma: import("./Option").Option) => StateReaderTaskEither; export { /** * @since 2.0.0 */ ap, /** * @since 2.0.0 */ apFirst, /** * @since 2.0.0 */ apSecond, /** * @since 2.0.0 */ chain, /** * @since 2.0.0 */ chainFirst, /** * @since 2.0.0 */ flatten, /** * @since 2.0.0 */ map, /** * @since 2.0.0 */ fromEither, /** * @since 2.0.0 */ fromOption };