import { SortedByKey } from "@effect/core/stream/SortedByKey/definition";
import { Ord } from "@tsplus/stdlib/prelude/Ord/definition";
import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Stream } from "@effect/core/stream/Stream/definition";
import { Tuple } from "@tsplus/stdlib/data/Tuple/definition";
/**
 * Zips this stream that is sorted by distinct keys and the specified stream
 * that is sorted by distinct keys to produce a new stream that is sorted by
 * distinct keys. Keeps only values from this stream, using the specified
 * value `default` to fill in missing values.
 *
 * This allows zipping potentially unbounded streams of data by key in
 * constant space but the caller is responsible for ensuring that the
 * streams are sorted by distinct keys.
 * @tsplus fluent ets/SortedByKey zipAllSortedByKeyLeft
 * @tsplus fluent ets/Stream zipAllSortedByKeyLeft
 * @tsplus location "@effect/core/stream/SortedByKey/operations/zipAllSortedByKeyLeft"
 */
export declare function zipAllSortedByKeyLeft_<R, E, K, A>(self: SortedByKey<R, E, K, A>, ord: Ord<K>): <R2, E2, B>(that: import("@tsplus/stdlib/data/Function").LazyArg<import("../definition").SortedByKey<R2, E2, K, B>>, def: LazyArg<A>, __tsplusTrace?: string) => import("../../Stream").Stream<R | R2, E | E2, import("@tsplus/stdlib/data/Tuple").Tuple<[K, A]>>;
/**
 * Zips this stream that is sorted by distinct keys and the specified stream
 * that is sorted by distinct keys to produce a new stream that is sorted by
 * distinct keys. Keeps only values from this stream, using the specified
 * value `default` to fill in missing values.
 *
 * This allows zipping potentially unbounded streams of data by key in
 * constant space but the caller is responsible for ensuring that the
 * streams are sorted by distinct keys.
 * @tsplus static ets/SortedByKey/Aspects zipAllSortedByKeyLeft
 * @tsplus pipeable ets/SortedByKey zipAllSortedByKeyLeft
 * @tsplus location "@effect/core/stream/SortedByKey/operations/zipAllSortedByKeyLeft"
 */
export declare const zipAllSortedByKeyLeft: <K>(ord: import("@tsplus/stdlib/prelude/Ord").Ord<K>) => <R, E, A>(self: import("../definition").SortedByKey<R, E, K, A>) => <R2, E2, B>(that: import("@tsplus/stdlib/data/Function").LazyArg<import("../definition").SortedByKey<R2, E2, K, B>>, def: import("@tsplus/stdlib/data/Function").LazyArg<A>, __tsplusTrace?: string) => import("../../Stream").Stream<R | R2, E | E2, import("@tsplus/stdlib/data/Tuple").Tuple<[K, A]>>;
//# sourceMappingURL=zipAllSortedByKeyLeft.d.ts.map