import * as tOf from '../../typeclass/of'; import * as tFunctor from '../../typeclass/functor'; import * as tApplicative from '../../typeclass/applicative'; import * as tMonad from '../../typeclass/monad'; import type { ReaderTask, TReaderTask } from './reader-task.types'; import * as IO from '../io'; export declare const ask: () => ReaderTask; export declare const asks: (f: (env: Env) => A) => ReaderTask; export declare const local: (f: (env: Env2) => Env1) => (fa: ReaderTask) => ReaderTask; export declare const askReader: (f: (env: Env1) => ReaderTask) => ReaderTask; export declare const Of: tOf.Of; export declare const Functor: tFunctor.Functor; export declare const Applicative: tApplicative.Applicative; export declare const Monad: tMonad.Monad; export declare const fromIO: (fa: IO.IO) => ReaderTask; export declare const of: (a: A) => ReaderTask; export declare const map: (args_0: (args_0: A1) => A2) => (args_0: ReaderTask) => ReaderTask; export declare const mapCompose: (args_0: (args_0: A1) => A2) => (args_0: ReaderTask, B2>) => ReaderTask, B2>; export declare const flap: (args_0: A1) => (args_0: ReaderTask<(args_0: A1) => B1, B2>) => ReaderTask; export declare const as: (args_0: A1) => (args_0: ReaderTask) => ReaderTask; export declare const tap: (args_0: (args_0: A1) => void) => (args_0: ReaderTask) => ReaderTask; export declare const ap: (args_0: ReaderTask) => (args_0: ReaderTask<(args_0: A1) => B1, B2>) => ReaderTask; export declare const liftA2: (args_0: (args_0: A1, args_1: A2) => A3) => (args_0: ReaderTask) => (args_0: ReaderTask) => ReaderTask; export declare const product: (args_0: ReaderTask) => (args_0: ReaderTask) => ReaderTask<[A1, B1], A2 & B2>; export declare const productMany: (args_0: ReaderTask) => (args_0: ReaderTask[]) => ReaderTask; export declare const flatMap: (args_0: (args_0: A1) => ReaderTask) => (args_0: ReaderTask) => ReaderTask; export declare const andThen: (args_0: (args_0: A1) => ReaderTask) => (args_0: ReaderTask) => ReaderTask; export declare const chain: (args_0: (args_0: A1) => ReaderTask) => (args_0: ReaderTask) => ReaderTask; export declare const flatten: (args_0: ReaderTask, A3>) => ReaderTask; export declare const pluck: (k: K) => (args_0: ReaderTask) => ReaderTask;