import * as Tp from "../../../../Collections/Immutable/Tuple";
import * as T from "../../../../Effect";
import * as O from "../../../../Option";
import type * as C from "../core";
/**
 * Creates a stream by effectfully peeling off the "layers" of a value of type `S`
 */
export declare function unfoldEffect<R, E, A, S>(s: S, f: (s: S) => T.Effect<R, E, O.Option<Tp.Tuple<[A, S]>>>): C.Stream<R, E, A>;
//# sourceMappingURL=unfoldEffect.d.ts.map