import * as Tp from "../../../../Collections/Immutable/Tuple/index.js"; import * as T from "../../../../Effect/index.js"; import * as Ex from "../../../../Exit/index.js"; import * as O from "../../../../Option/index.js"; import * as C from "../core.js"; /** * Combines the elements from this stream and the specified stream by repeatedly applying the * function `f` to extract an element using both sides and conceptually "offer" * it to the destination stream. `f` can maintain some internal state to control * the combining process, with the initial state being specified by `s`. * * Where possible, prefer `Stream#combineChunks` for a more efficient implementation. */ export declare function combine_(self: C.Stream, that: C.Stream, s: S, f: (s: S, e1: T.Effect, A>, e2: T.Effect, A1>) => T.Effect, Tp.Tuple<[A2, S]>>>): C.Stream; /** * Combines the elements from this stream and the specified stream by repeatedly applying the * function `f` to extract an element using both sides and conceptually "offer" * it to the destination stream. `f` can maintain some internal state to control * the combining process, with the initial state being specified by `s`. * * Where possible, prefer `Stream#combineChunks` for a more efficient implementation. * * @ets_data_first combine_ */ export declare function combine(that: C.Stream, s: S, f: (s: S, e1: T.Effect, A>, e2: T.Effect, A1>) => T.Effect, Tp.Tuple<[A2, S]>>>): (self: C.Stream) => C.Stream; //# sourceMappingURL=combine.d.ts.map