/** * FromEnv is a Typeclass which represents the Natural Transformation from an Env into another * effect. * * @since 0.9.2 */ import { Chain, Chain2, Chain3, Chain4 } from 'fp-ts/Chain'; import { HKT2, Kind2, Kind3, Kind4, URIS2, URIS3, URIS4 } from 'fp-ts/HKT'; import { NaturalTransformation22, NaturalTransformation23R, NaturalTransformation23RC, NaturalTransformation24R } from 'fp-ts/NaturalTransformation'; import * as E from './Env'; import { ApplyVariance, Hkt, Initial } from './HKT'; import * as Provide from './Provide'; /** * @since 0.9.2 * @category Typeclass */ export declare type FromEnv = { readonly URI?: F; readonly fromEnv: (env: E.Env) => HKT2; }; /** * @since 0.9.2 * @category Combinator */ export declare type FromEnv2 = { readonly URI?: F; readonly fromEnv: NaturalTransformation22; }; /** * @since 0.9.2 * @category Typeclass */ export declare type FromEnv3 = { readonly URI?: F; readonly fromEnv: NaturalTransformation23R; }; /** * @since 0.9.2 * @category Typeclass */ export declare type FromEnv3C = { readonly URI?: F; readonly fromEnv: NaturalTransformation23RC; }; /** * @since 0.9.2 * @category Typeclass */ export declare type FromEnv4 = { readonly URI?: F; readonly fromEnv: NaturalTransformation24R; }; /** * @since 0.9.2 * @category Constructor */ export declare function fromEnvK(F: FromEnv2): (f: (...args: A) => E.Env) => (...args: A) => Hkt; export declare function fromEnvK(F: FromEnv3): (f: (...args: A) => E.Env) => (...args: A) => Hkt; export declare function fromEnvK(F: FromEnv4): (f: (...args: A) => E.Env) => (...args: A) => Hkt; export declare function fromEnvK(F: FromEnv): (f: (...args: A) => E.Env) => (...args: A) => Hkt; /** * @since 0.9.2 * @category Combinator */ export declare function chainEnvK(F: FromEnv2, C: Chain2): (f: (value: A) => E.Env) => (hkt: Hkt) => Hkt, B]>; export declare function chainEnvK(F: FromEnv3, C: Chain3): (f: (value: A) => E.Env) => (hkt: Hkt) => Hkt, E, B]>; export declare function chainEnvK(F: FromEnv4, C: Chain4): (f: (value: A) => E.Env) => (hkt: Hkt) => Hkt, E, B]>; export declare function chainEnvK(F: FromEnv, C: Chain): (f: (value: A) => E.Env) => (hkt: Hkt) => Hkt, B]>; /** * @since 0.9.2 * @category Combinator */ export declare function chainFirstEnvK(F: FromEnv2, C: Chain2): (f: (value: A) => E.Env) => (hkt: Hkt) => Hkt, A]>; export declare function chainFirstEnvK(F: FromEnv3, C: Chain3): (f: (value: A) => E.Env) => (hkt: Hkt) => Hkt, E, A]>; export declare function chainFirstEnvK(F: FromEnv4, C: Chain4): (f: (value: A) => E.Env) => (hkt: Hkt) => Hkt, E, A]>; export declare function chainFirstEnvK(F: FromEnv, C: Chain): (f: (value: A) => E.Env) => (hkt: Hkt) => Hkt, A]>; /** * @since 0.9.2 * @category Combinator */ export declare function provideSomeWithEnv(F: FromEnv4 & Provide.ProvideSome4 & Chain4): (env: E.Env) => Provide.Provider4, Initial>; export declare function provideSomeWithEnv(F: FromEnv3 & Provide.ProvideSome3 & Chain3): (env: E.Env) => Provide.Provider3>; export declare function provideSomeWithEnv(F: FromEnv2 & Provide.ProvideSome2 & Chain2): (env: E.Env) => Provide.Provider2; export declare function provideSomeWithEnv(F: FromEnv & Provide.ProvideSome & Chain): (env: E.Env) => Provide.Provider; /** * @since 0.9.2 * @category Combinator */ export declare function provideAllWithEnv(F: FromEnv4 & Provide.ProvideAll4 & Chain4): (env: E.Env) => (hkt: Kind4) => Kind4; export declare function provideAllWithEnv(F: FromEnv3 & Provide.ProvideAll3 & Chain3): (env: E.Env) => (hkt: Kind3) => Kind3; export declare function provideAllWithEnv(F: FromEnv2 & Provide.ProvideAll2 & Chain2): (env: E.Env) => (hkt: Kind2) => Kind2; export declare function provideAllWithEnv(F: FromEnv & Provide.ProvideAll & Chain): (env: E.Env) => (hkt: HKT2) => HKT2; /** * @since 0.9.2 * @category Combinator */ export declare function useSomeWithEnv(F: FromEnv4 & Provide.UseSome4 & Chain4): (env: E.Env) => Provide.Provider4, Initial>; export declare function useSomeWithEnv(F: FromEnv3 & Provide.UseSome3 & Chain3): (env: E.Env) => Provide.Provider3>; export declare function useSomeWithEnv(F: FromEnv2 & Provide.UseSome2 & Chain2): (env: E.Env) => Provide.Provider2; export declare function useSomeWithEnv(F: FromEnv & Provide.UseSome & Chain): (env: E.Env) => Provide.Provider; /** * @since 0.9.2 * @category Combinator */ export declare function useAllWithEnv(F: FromEnv4 & Provide.UseAll4 & Chain4): (env: E.Env) => (hkt: Kind4) => Kind4; export declare function useAllWithEnv(F: FromEnv3 & Provide.UseAll3 & Chain3): (env: E.Env) => (hkt: Kind3) => Kind3; export declare function useAllWithEnv(F: FromEnv2 & Provide.UseAll2 & Chain2): (env: E.Env) => (hkt: Kind2) => Kind2; export declare function useAllWithEnv(F: FromEnv & Provide.UseAll & Chain): (env: E.Env) => (hkt: HKT2) => HKT2; //# sourceMappingURL=FromEnv.d.ts.map