import { Sink } from "@effect/core/stream/Sink/definition/base";
import { LazyArg } from "@tsplus/stdlib/data/Function";
/**
 * Runs both sinks in parallel on the input, , returning the result or the
 * error from the one that finishes first.
 * @tsplus fluent ets/Sink race
 * @tsplus location "@effect/core/stream/Sink/operations/race"
 */
export declare function race_<R, R1, E, E1, In, In1, L, L1, Z, Z1>(self: Sink<R, E, In, L, Z>, that: LazyArg<Sink<R1, E1, In1, L1, Z1>>, __tsplusTrace?: string): Sink<R | R1, E | E1, In & In1, L | L1, Z | Z1>;
/**
 * Runs both sinks in parallel on the input, , returning the result or the
 * error from the one that finishes first.
 * @tsplus static ets/Sink/Aspects race
 * @tsplus pipeable ets/Sink race
 * @tsplus location "@effect/core/stream/Sink/operations/race"
 */
export declare const race: <R1, E1, In1, L1, Z1>(that: import("@tsplus/stdlib/data/Function").LazyArg<import("../definition").Sink<R1, E1, In1, L1, Z1>>, __tsplusTrace?: string) => <R, E, In, L, Z>(self: import("../definition").Sink<R, E, In, L, Z>) => import("../definition").Sink<R | R1, E | E1, In & In1, L | L1, Z | Z1>;
//# sourceMappingURL=race.d.ts.map