/**
 * ReaderStreamEither is an EitherT of ReaderStream, allowing for you to
 * represent your application over time with Stream, with support for branching/error-handling
 * through Either, and dependency injection from Reader.
 *
 * @since 0.9.2
 */
import * as ALT from 'fp-ts/Alt';
import * as ALTERNATIVE from 'fp-ts/Alternative';
import * as App from 'fp-ts/Applicative';
import * as Ap from 'fp-ts/Apply';
import * as Bi from 'fp-ts/Bifunctor';
import * as Ch from 'fp-ts/Chain';
import { ChainRec3 } from 'fp-ts/ChainRec';
import * as Ei from 'fp-ts/Either';
import * as FEi from 'fp-ts/FromEither';
import * as FIO from 'fp-ts/FromIO';
import * as FR from 'fp-ts/FromReader';
import * as FT from 'fp-ts/FromTask';
import { Lazy } from 'fp-ts/function';
import * as F from 'fp-ts/Functor';
import { Monad3 } from 'fp-ts/Monad';
import { Pointed3 } from 'fp-ts/Pointed';
import * as Re from 'fp-ts/Reader';
import { Semigroup } from 'fp-ts/Semigroup';
import * as FE from './FromEnv';
import * as FRS from './FromReaderStream';
import * as FRe from './FromResume';
import * as FS from './FromStream';
import { MonadRec3 } from './MonadRec';
import * as P from './Provide';
import * as RS from './ReaderStream';
import * as S from './Stream';
import * as SE from './StreamEither';
/**
 * Env is specialization of Reader<R, Resume<A>>
 * @since 0.9.2
 * @category Model
 */
export interface ReaderStreamEither<R, E, A> extends Re.Reader<R, SE.StreamEither<E, A>> {
}
/**
 * @since 0.9.2
 * @category Type-level
 */
export declare type RequirementsOf<A> = A extends ReaderStreamEither<infer R, any, any> ? R : never;
/**
 * @since 0.9.2
 * @category Type-lvel
 */
export declare type LeftOf<A> = A extends ReaderStreamEither<any, infer R, any> ? R : never;
/**
 * @since 0.9.2
 * @category Type-lvel
 */
export declare type RightOf<A> = A extends ReaderStreamEither<any, any, infer R> ? R : never;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const ap: <R, E, A>(fa: Re.Reader<R, SE.StreamEither<E, A>>) => <B>(fab: Re.Reader<R, SE.StreamEither<E, (a: A) => B>>) => Re.Reader<R, SE.StreamEither<E, B>>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const apW: <R1, E, A>(fa: Re.Reader<R1, SE.StreamEither<E, A>>) => <R2, B>(fab: Re.Reader<R2, SE.StreamEither<E, (a: A) => B>>) => Re.Reader<R1 & R2, SE.StreamEither<E, B>>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const chain: <A, R, E, B>(f: (a: A) => Re.Reader<R, SE.StreamEither<E, B>>) => (ma: Re.Reader<R, SE.StreamEither<E, A>>) => Re.Reader<R, SE.StreamEither<E, B>>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const chainW: <A, R1, E, B>(f: (a: A) => Re.Reader<R1, SE.StreamEither<E, B>>) => <R2>(ma: Re.Reader<R2, SE.StreamEither<E, A>>) => Re.Reader<R1 & R2, SE.StreamEither<E, B>>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const fromReader: <R, A, E>(ma: Re.Reader<R, A>) => Re.Reader<R, SE.StreamEither<E, A>>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const map: <A, B>(f: (a: A) => B) => <R, E>(fa: Re.Reader<R, SE.StreamEither<E, A>>) => Re.Reader<R, SE.StreamEither<E, B>>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const of: <A, R, E>(a: A) => Re.Reader<R, SE.StreamEither<E, A>>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const alt: <ME, E, A>(second: Lazy<RS.ReaderStream<ME, Ei.Either<E, A>>>) => (first: RS.ReaderStream<ME, Ei.Either<E, A>>) => RS.ReaderStream<ME, Ei.Either<E, A>>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const altW: <R1, E, A>(second: Lazy<RS.ReaderStream<R1, Ei.Either<E, A>>>) => <R2>(first: RS.ReaderStream<R2, Ei.Either<E, A>>) => RS.ReaderStream<R1 & R2, Ei.Either<E, A>>;
/**
 * @since 0.9.2
 * @category Typeclass Constructor
 */
export declare const altValidation: <A>(semigroup: Semigroup<A>) => <ME, A_1>(second: Lazy<RS.ReaderStream<ME, Ei.Either<A, A_1>>>) => (first: RS.ReaderStream<ME, Ei.Either<A, A_1>>) => RS.ReaderStream<ME, Ei.Either<A, A_1>>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const bimap: <E, G, A, B>(f: (e: E) => G, g: (a: A) => B) => <FE>(fea: RS.ReaderStream<FE, Ei.Either<E, A>>) => RS.ReaderStream<FE, Ei.Either<G, B>>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const bracket: <ME, E, A, B>(acquire: RS.ReaderStream<ME, Ei.Either<E, A>>, use: (a: A) => RS.ReaderStream<ME, Ei.Either<E, B>>, release: (a: A, e: Ei.Either<E, B>) => RS.ReaderStream<ME, Ei.Either<E, void>>) => RS.ReaderStream<ME, Ei.Either<E, B>>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const bracketW: <R1, E, A, R2, B, R3>(acquire: RS.ReaderStream<R1, Ei.Either<E, A>>, use: (a: A) => RS.ReaderStream<R2, Ei.Either<E, B>>, release: (a: A, e: Ei.Either<E, B>) => RS.ReaderStream<R3, Ei.Either<E, void>>) => RS.ReaderStream<R1 & R2 & R3, Ei.Either<E, B>>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const getOrElse: <E, A>(onLeft: (e: E) => A) => <FE>(ma: RS.ReaderStream<FE, Ei.Either<E, A>>) => RS.ReaderStream<FE, A>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const getOrElseE: <E, ME, A>(onLeft: (e: E) => RS.ReaderStream<ME, A>) => (ma: RS.ReaderStream<ME, Ei.Either<E, A>>) => RS.ReaderStream<ME, A>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const getOrElseEW: <E, R1, A>(onLeft: (e: E) => RS.ReaderStream<R1, A>) => <R2>(ma: RS.ReaderStream<R2, Ei.Either<E, A>>) => RS.ReaderStream<R1 & R2, A>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const left: <E, FE, A = never>(e: E) => RS.ReaderStream<FE, Ei.Either<E, A>>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const fromReaderStreamL: <FE, E, A = never>(fe: RS.ReaderStream<FE, E>) => RS.ReaderStream<FE, Ei.Either<E, A>>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const mapLeft: <E, G>(f: (e: E) => G) => <FE, A>(fea: RS.ReaderStream<FE, Ei.Either<E, A>>) => RS.ReaderStream<FE, Ei.Either<G, A>>;
/**
 * @since 0.9.2
 * @category Deconstructor
 */
export declare const match: <E, B, A>(onLeft: (e: E) => B, onRight: (a: A) => B) => <FE>(ma: RS.ReaderStream<FE, Ei.Either<E, A>>) => RS.ReaderStream<FE, B>;
/**
 * @since 0.9.2
 * @category Deconstructor
 */
export declare const matchE: <E, ME, B, A>(onLeft: (e: E) => RS.ReaderStream<ME, B>, onRight: (a: A) => RS.ReaderStream<ME, B>) => (ma: RS.ReaderStream<ME, Ei.Either<E, A>>) => RS.ReaderStream<ME, B>;
/**
 * @since 0.9.2
 * @category Deconstructor
 */
export declare const matchEW: <E, R1, B, A, R2>(onLeft: (e: E) => RS.ReaderStream<R1, B>, onRight: (a: A) => RS.ReaderStream<R2, B>) => <R3>(ma: RS.ReaderStream<R3, Ei.Either<E, A>>) => RS.ReaderStream<R1 & R2 & R3, Ei.Either<E, B>>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const orElse: <E1, ME, E2, A>(onLeft: (e: E1) => RS.ReaderStream<ME, Ei.Either<E2, A>>) => (ma: RS.ReaderStream<ME, Ei.Either<E1, A>>) => RS.ReaderStream<ME, Ei.Either<E2, A>>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const orElseFirst: <E, ME, B>(onLeft: (e: E) => RS.ReaderStream<ME, Ei.Either<E, B>>) => <A>(ma: RS.ReaderStream<ME, Ei.Either<E, A>>) => RS.ReaderStream<ME, Ei.Either<E, A>>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const orLeft: <E1, ME, E2>(onLeft: (e: E1) => RS.ReaderStream<ME, E2>) => <A>(fa: RS.ReaderStream<ME, Ei.Either<E1, A>>) => RS.ReaderStream<ME, Ei.Either<E2, A>>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const right: <A, FE, E = never>(a: A) => RS.ReaderStream<FE, Ei.Either<E, A>>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const fromReaderStream: <FE, A, E = never>(fa: RS.ReaderStream<FE, A>) => RS.ReaderStream<FE, Ei.Either<E, A>>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const swap: <FE, E, A>(ma: RS.ReaderStream<FE, Ei.Either<E, A>>) => RS.ReaderStream<FE, Ei.Either<A, E>>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const toUnion: <FE, E, A>(fa: RS.ReaderStream<FE, Ei.Either<E, A>>) => RS.ReaderStream<FE, E | A>;
/**
 * @since 0.9.2
 * @category URI
 */
export declare const URI = "@typed/fp/ReaderStreamEither";
/**
 * @since 0.9.2
 * @category URI
 */
export declare type URI = typeof URI;
declare module 'fp-ts/HKT' {
    interface URItoKind3<R, E, A> {
        [URI]: ReaderStreamEither<R, E, A>;
    }
}
declare module './HKT' {
    interface URItoVariance {
        [URI]: V<R, Contravariant> & V<E, Covariant>;
    }
}
/**
 * @since 0.9.2
 * @category Instance
 */
export declare const Pointed: Pointed3<URI>;
/**
 * @since 0.9.2
 * @category Instance
 */
export declare const Functor: F.Functor3<URI>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const bindTo: <N extends string>(name: N) => <R, E, A>(fa: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, { readonly [K in N]: A; }>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const flap: <A>(a: A) => <R, E, B>(fab: ReaderStreamEither<R, E, (a: A) => B>) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const tupled: <R, E, A>(fa: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, readonly [A]>;
/**
 * @since 0.9.2
 * @category Instance
 */
export declare const Bifunctor: Bi.Bifunctor3<URI>;
/**
 * @since 0.9.2
 * @category Instance
 */
export declare const Apply: Ap.Apply3<URI>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const apFirst: <R, E, B>(second: ReaderStreamEither<R, E, B>) => <A>(first: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, A>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const apFirstW: <R1, E, B>(second: ReaderStreamEither<R1, E, B>) => <R2, A>(first: ReaderStreamEither<R2, E, A>) => ReaderStreamEither<R1 & R2, E, A>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const apS: <N extends string, A, R, E, B>(name: Exclude<N, keyof A>, fb: ReaderStreamEither<R, E, B>) => (fa: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, { readonly [K in N | keyof A]: K extends keyof A ? A[K] : B; }>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const apSW: <N extends string, A, R1, E, B>(name: Exclude<N, keyof A>, fb: ReaderStreamEither<R1, E, B>) => <R2>(fa: ReaderStreamEither<R2, E, A>) => ReaderStreamEither<R1 & R2, E, { readonly [K in N | keyof A]: K extends keyof A ? A[K] : B; }>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const apSecond: <R, E, B>(second: ReaderStreamEither<R, E, B>) => <A>(first: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const apScondW: <R1, E, B>(second: ReaderStreamEither<R1, E, B>) => <R2, A>(first: ReaderStreamEither<R2, E, A>) => ReaderStreamEither<R1 & R2, E, B>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const apT: <R, E, B>(fb: ReaderStreamEither<R, E, B>) => <A extends readonly unknown[]>(fas: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, readonly [...A, B]>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const apTW: <R1, E, B>(fb: ReaderStreamEither<R1, E, B>) => <R2, A extends readonly unknown[]>(fas: ReaderStreamEither<R2, E, A>) => ReaderStreamEither<R1 & R2, E, readonly [...A, B]>;
/**
 * @since 0.9.2
 * @category Typeclass Constructor
 */
export declare const getApplySemigroup: <A, R, E>(S: Semigroup<A>) => Semigroup<ReaderStreamEither<R, E, A>>;
/**
 * @since 0.9.2
 * @category Instance
 */
export declare const Applicative: App.Applicative3<URI>;
/**
 * @since 0.9.2
 * @category Typeclass Consructor
 */
export declare const getApplicativeMonoid: <A, R, E>(M: import("fp-ts/Monoid").Monoid<A>) => import("fp-ts/Monoid").Monoid<ReaderStreamEither<R, E, A>>;
/**
 * @since 0.9.2
 * @category Instance
 */
export declare const Chain: Ch.Chain3<URI>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const bind: <N extends string, A, R, E, B>(name: Exclude<N, keyof A>, f: (a: A) => ReaderStreamEither<R, E, B>) => (ma: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, { readonly [K in N | keyof A]: K extends keyof A ? A[K] : B; }>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const chainFirst: <A, R, E, B>(f: (a: A) => ReaderStreamEither<R, E, B>) => (first: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, A>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const chainFirstW: <A, R1, E, B>(f: (a: A) => ReaderStreamEither<R1, E, B>) => <R2>(first: ReaderStreamEither<R2, E, A>) => ReaderStreamEither<R1 & R2, E, A>;
/**
 * @since 0.9.2
 * @category Instance
 */
export declare const Monad: Monad3<URI>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare function chainRec<A, R, E, B>(f: (value: A) => ReaderStreamEither<R, E, Ei.Either<A, B>>): (value: A) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.9.2
 * @category Instance
 */
export declare const ChainRec: ChainRec3<URI>;
/**
 * @since 0.9.2
 * @category Instance
 */
export declare const MonadRec: MonadRec3<URI>;
/**
 * @since 0.9.2
 * @category Instance
 */
export declare const Alt: ALT.Alt3<URI>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const altAll: <R, E, A>(startWith: ReaderStreamEither<R, E, A>) => (as: readonly ReaderStreamEither<R, E, A>[]) => ReaderStreamEither<R, E, A>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const zero: ReaderStreamEither<unknown, never, any>;
/**
 * @since 0.9.2
 * @category Instance
 */
export declare const Alternative: ALTERNATIVE.Alternative3<URI>;
/**
 * @since 0.9.2
 * @category Instance
 */
export declare const FromEither: FEi.FromEither3<URI>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const fromEither: import("fp-ts/NaturalTransformation").NaturalTransformation23<"Either", "@typed/fp/ReaderStreamEither">;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const chainEitherK: <A, E, B>(f: (a: A) => Ei.Either<E, B>) => <R>(ma: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const chainOptionK: <E>(onNone: Lazy<E>) => <A, B>(f: (a: A) => import("fp-ts/Option").Option<B>) => <R>(ma: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const filterOrElse: {
    <A, B extends A, E>(refinement: import("fp-ts/Refinement").Refinement<A, B>, onFalse: (a: A) => E): <R>(ma: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, B>;
    <A_1, E_1>(predicate: import("fp-ts/Predicate").Predicate<A_1>, onFalse: (a: A_1) => E_1): <R_1, B_1 extends A_1>(mb: ReaderStreamEither<R_1, E_1, B_1>) => ReaderStreamEither<R_1, E_1, B_1>;
};
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const fromEitherK: <A extends readonly unknown[], E, B>(f: (...a: A) => Ei.Either<E, B>) => <R>(...a: A) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const fromOption: <E>(onNone: Lazy<E>) => import("fp-ts/NaturalTransformation").NaturalTransformation13C<"Option", "@typed/fp/ReaderStreamEither", E>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const fromOptionK: <E>(onNone: Lazy<E>) => <A extends readonly unknown[], B>(f: (...a: A) => import("fp-ts/Option").Option<B>) => <R>(...a: A) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const fromPredicate: {
    <A, B extends A>(refinement: import("fp-ts/Refinement").Refinement<A, B>): <R>(a: A) => ReaderStreamEither<R, A, B>;
    <A_1>(predicate: import("fp-ts/Predicate").Predicate<A_1>): <R_1, B_1 extends A_1>(b: B_1) => ReaderStreamEither<R_1, B_1, B_1>;
};
/**
 * @since 0.9.2
 * @category Instance
 */
export declare const FromReader: FR.FromReader3<URI>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const ask: <R, E>() => ReaderStreamEither<R, E, R>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const asks: <R, A, E>(f: (r: R) => A) => ReaderStreamEither<R, E, A>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const chainFirstReaderK: <A, R, B>(f: (a: A) => Re.Reader<R, B>) => <E>(ma: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, A>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const chainReaderK: <A, R, B>(f: (a: A) => Re.Reader<R, B>) => <E>(ma: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const chainReaderKW: <A, R1, B>(f: (a: A) => Re.Reader<R1, B>) => <R2, E>(ma: ReaderStreamEither<R2, E, A>) => ReaderStreamEither<R1 & R2, E, B>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const fromReaderK: <A extends readonly unknown[], R, B>(f: (...a: A) => Re.Reader<R, B>) => <E>(...a: A) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.9.2
 * @category Instance
 */
export declare const FromIO: FIO.FromIO3<URI>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const fromIO: import("fp-ts/NaturalTransformation").NaturalTransformation13<"IO", "@typed/fp/ReaderStreamEither">;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const chainFirstIOK: <A, B>(f: (a: A) => import("fp-ts/IO").IO<B>) => <R, E>(first: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, A>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const chainIOK: <A, B>(f: (a: A) => import("fp-ts/IO").IO<B>) => <R, E>(first: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const fromIOK: <A extends readonly unknown[], B>(f: (...a: A) => import("fp-ts/IO").IO<B>) => <R, E>(...a: A) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.9.2
 * @category Instance
 */
export declare const FromTask: FT.FromTask3<URI>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const fromTask: import("fp-ts/NaturalTransformation").NaturalTransformation13<"Task", "@typed/fp/ReaderStreamEither">;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const chainFirstTaskK: <A, B>(f: (a: A) => import("fp-ts/Task").Task<B>) => <R, E>(first: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, A>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const chainTaskK: <A, B>(f: (a: A) => import("fp-ts/Task").Task<B>) => <R, E>(first: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const fromTaskK: <A extends readonly unknown[], B>(f: (...a: A) => import("fp-ts/Task").Task<B>) => <R, E>(...a: A) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.9.2
 * @category Instance
 */
export declare const FromStream: FS.FromStream3<URI>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const fromStream: import("fp-ts/NaturalTransformation").NaturalTransformation13<"@most/core/Stream", "@typed/fp/ReaderStreamEither">;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const chainFirstStreamK: <A, B>(f: (value: A) => S.Stream<B>) => <R, E>(hkt: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, A>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const chainStreamK: <A, B>(f: (value: A) => S.Stream<B>) => <R, E>(hkt: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const fromStreamK: <A extends readonly any[], B>(f: (...args: A) => S.Stream<B>) => <R, E>(...args: A) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.9.2
 * @category Instance
 */
export declare const FromResume: FRe.FromResume3<URI>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const fromResume: import("fp-ts/NaturalTransformation").NaturalTransformation13<"@typed/fp/Resume", "@typed/fp/ReaderStreamEither">;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const chainFirstResumeK: <A, B>(f: (value: A) => import("./Resume").Resume<B>) => <R, E>(hkt: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, A>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const chainResumeK: <A, B>(f: (value: A) => import("./Resume").Resume<B>) => <R, E>(hkt: ReaderStreamEither<R, E, A>) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const fromResumeK: <A extends readonly any[], B>(f: (...args: A) => import("./Resume").Resume<B>) => <R, E>(...args: A) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.9.2
 * @category Instance
 */
export declare const FromEnv: FE.FromEnv3<URI>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const fromEnv: import("fp-ts/NaturalTransformation").NaturalTransformation23R<"@typed/fp/Env", "@typed/fp/ReaderStreamEither">;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const chainFirstEnvK: <A, R1, B>(f: (value: A) => import("./Env").Env<R1, B>) => <R2, E>(hkt: ReaderStreamEither<R2, E, A>) => ReaderStreamEither<R1 & R2, E, A>;
/**
 * @since 0.9.2
 * @category Combinator
 */
export declare const chainEnvK: <A, R1, B>(f: (value: A) => import("./Env").Env<R1, B>) => <R2, E>(hkt: ReaderStreamEither<R2, E, A>) => ReaderStreamEither<R1 & R2, E, B>;
/**
 * @since 0.9.2
 * @category Constructor
 */
export declare const fromEnvK: <A extends readonly any[], R, B>(f: (...args: A) => import("./Env").Env<R, B>) => <E>(...args: A) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.13.9
 * @category Instance
 */
export declare const ProvideAll: P.ProvideAll3<URI>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const provideAll: <A>(provided: A) => <E, B>(hkt: ReaderStreamEither<Partial<A>, E, B>) => ReaderStreamEither<unknown, E, B>;
/**
 * @since 0.13.9
 * @category Instance
 */
export declare const ProvideSome: P.ProvideSome3<URI>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const provideSome: <A>(provided: A) => <B, E, C>(hkt: ReaderStreamEither<A & B, E, C>) => ReaderStreamEither<B, E, C>;
/**
 * @since 0.13.9
 * @category Instance
 */
export declare const UseAll: P.UseAll3<URI>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const useAll: <A>(provided: A) => <E, B>(hkt: ReaderStreamEither<Partial<A>, E, B>) => ReaderStreamEither<unknown, E, B>;
/**
 * @since 0.13.9
 * @category Instance
 */
export declare const UseSome: P.UseSome3<URI>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const useSome: <A>(provided: A) => <B, E, C>(hkt: ReaderStreamEither<A & B, E, C>) => ReaderStreamEither<B, E, C>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const provideAllWithEnv: <R, A>(env: import("./Env").Env<R, A>) => <E, B>(hkt: ReaderStreamEither<A, E, B>) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const provideSomeWithEnv: <E, A>(env: import("./Env").Env<E, A>) => P.Provider3<"@typed/fp/ReaderStreamEither", A, E, never>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const useSomeWithEnv: <E, A>(env: import("./Env").Env<E, A>) => P.Provider3<"@typed/fp/ReaderStreamEither", A, E, never>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const useAllWithEnv: <R, A>(env: import("./Env").Env<R, A>) => <E, B>(hkt: ReaderStreamEither<A, E, B>) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.13.9
 * @category Instance
 */
export declare const FromReaderStream: FRS.FromReaderStream3<URI>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const chainFirstReaderStreamK: <A, R1, B>(f: (value: A) => RS.ReaderStream<R1, B>) => <R2, E>(hkt: ReaderStreamEither<R2, E, A>) => ReaderStreamEither<R1 & R2, E, A>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const chainReaderStreamK: <A, R1, B>(f: (value: A) => RS.ReaderStream<R1, B>) => <R2, E>(hkt: ReaderStreamEither<R2, E, A>) => ReaderStreamEither<R1 & R2, E, B>;
/**
 * @since 0.13.9
 * @category Constructor
 */
export declare const fromReaderStreamK: <A extends readonly any[], R, B>(f: (...args: A) => RS.ReaderStream<R, B>) => <E>(...args: A) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const provideAllWithReaderStream: <R, A>(stream: RS.ReaderStream<R, A>) => <E, B>(hkt: ReaderStreamEither<A, E, B>) => ReaderStreamEither<R, E, B>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const provideSomeWithReaderStream: <E, A>(stream: RS.ReaderStream<E, A>) => P.Provider3<"@typed/fp/ReaderStreamEither", A, E, never>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const useSomeWithReaderStream: <E, A>(stream: RS.ReaderStream<E, A>) => P.Provider3<"@typed/fp/ReaderStreamEither", A, E, never>;
/**
 * @since 0.13.9
 * @category Combinator
 */
export declare const useAllWithReaderStream: <R, A>(stream: RS.ReaderStream<R, A>) => <E, B>(hkt: ReaderStreamEither<A, E, B>) => ReaderStreamEither<R, E, B>;
//# sourceMappingURL=ReaderStreamEither.d.ts.map