/** * Lift a computation from the `Reader` monad. * * @since 2.11.0 */ import { Chain, Chain2, Chain3, Chain3C, Chain4 } from './Chain' import { HKT2, Kind2, Kind3, Kind4, URIS2, URIS3, URIS4 } from './HKT' import * as R from './Reader' import Reader = R.Reader /** * @category model * @since 2.11.0 */ export interface FromReader { readonly URI: F readonly fromReader: (fa: Reader) => HKT2 } /** * @category model * @since 2.11.0 */ export interface FromReader2 { readonly URI: F readonly fromReader: (fa: Reader) => Kind2 } /** * @category model * @since 2.11.0 */ export interface FromReader3 { readonly URI: F readonly fromReader: (fa: Reader) => Kind3 } /** * @category model * @since 2.11.0 */ export interface FromReader3C { readonly URI: F readonly _E: E readonly fromReader: (fa: Reader) => Kind3 } /** * @category model * @since 2.11.0 */ export interface FromReader4 { readonly URI: F readonly fromReader: (fa: Reader) => Kind4 } /** * @category constructors * @since 2.11.0 */ export declare function ask(F: FromReader4): () => Kind4 export declare function ask(F: FromReader3): () => Kind3 export declare function ask(F: FromReader3C): () => Kind3 export declare function ask(F: FromReader2): () => Kind2 export declare function ask(F: FromReader): () => HKT2 /** * @category constructors * @since 2.11.0 */ export declare function asks(F: FromReader4): (f: (r: R) => A) => Kind4 export declare function asks(F: FromReader3): (f: (r: R) => A) => Kind3 export declare function asks(F: FromReader3C): (f: (r: R) => A) => Kind3 export declare function asks(F: FromReader2): (f: (r: R) => A) => Kind2 export declare function asks(F: FromReader): (f: (r: R) => A) => HKT2 /** * @since 2.11.0 */ export declare function fromReaderK( F: FromReader4 ): , R, B>(f: (...a: A) => Reader) => (...a: A) => Kind4 export declare function fromReaderK( F: FromReader3 ): , R, B>(f: (...a: A) => Reader) => (...a: A) => Kind3 export declare function fromReaderK( F: FromReader3C ): , R, B>(f: (...a: A) => Reader) => (...a: A) => Kind3 export declare function fromReaderK( F: FromReader2 ): , R, B>(f: (...a: A) => Reader) => (...a: A) => Kind2 export declare function fromReaderK( F: FromReader ): , R, B>(f: (...a: A) => Reader) => (...a: A) => HKT2 /** * @since 2.11.0 */ export declare function chainReaderK( F: FromReader4, M: Chain4 ): (f: (a: A) => Reader) => (ma: Kind4) => Kind4 export declare function chainReaderK( F: FromReader3, M: Chain3 ): (f: (a: A) => Reader) => (ma: Kind3) => Kind3 export declare function chainReaderK( F: FromReader3C, M: Chain3C ): (f: (a: A) => Reader) => (ma: Kind3) => Kind3 export declare function chainReaderK( F: FromReader2, M: Chain2 ): (f: (a: A) => Reader) => (ma: Kind2) => Kind2 export declare function chainReaderK( F: FromReader, M: Chain ): (f: (a: A) => Reader) => (ma: HKT2) => HKT2 /** * @since 2.11.0 */ export declare function chainFirstReaderK( F: FromReader4, M: Chain4 ): (f: (a: A) => Reader) => (ma: Kind4) => Kind4 export declare function chainFirstReaderK( F: FromReader3, M: Chain3 ): (f: (a: A) => Reader) => (ma: Kind3) => Kind3 export declare function chainFirstReaderK( F: FromReader3C, M: Chain3C ): (f: (a: A) => Reader) => (ma: Kind3) => Kind3 export declare function chainFirstReaderK( F: FromReader2, M: Chain2 ): (f: (a: A) => Reader) => (ma: Kind2) => Kind2 export declare function chainFirstReaderK( F: FromReader, M: Chain ): (f: (a: A) => Reader) => (ma: HKT2) => HKT2