import { Stream } from "@effect/core/stream/Stream/definition";
import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Tuple } from "@tsplus/stdlib/data/Tuple/definition";
/**
 * Zips this stream with another point-wise and emits tuples of elements from
 * both streams.
 *
 * The new stream will end when one of the sides ends.
 * @tsplus fluent ets/Stream zip
 * @tsplus location "@effect/core/stream/Stream/operations/zip"
 */
export declare function zip_<R, E, A, R2, E2, A2>(self: Stream<R, E, A>, that: LazyArg<Stream<R2, E2, A2>>, __tsplusTrace?: string): Stream<R | R2, E | E2, Tuple<[A, A2]>>;
/**
 * Zips this stream with another point-wise and emits tuples of elements from
 * both streams.
 *
 * The new stream will end when one of the sides ends.
 * @tsplus static ets/Stream/Aspects zip
 * @tsplus pipeable ets/Stream zip
 * @tsplus location "@effect/core/stream/Stream/operations/zip"
 */
export declare const zip: <R2, E2, A2>(that: import("@tsplus/stdlib/data/Function").LazyArg<import("../definition").Stream<R2, E2, A2>>, __tsplusTrace?: string) => <R, E, A>(self: import("../definition").Stream<R, E, A>) => import("../definition").Stream<R | R2, E | E2, import("@tsplus/stdlib/data/Tuple").Tuple<[A, A2]>>;
//# sourceMappingURL=zip.d.ts.map