import { Sink } from "@effect/core/stream/Sink/definition/base";
import { Tuple } from "@tsplus/stdlib/data/Tuple/definition";
import type { _E, _In, _L, _R, _Z } from "@effect/core/stream/Sink/definition/symbols";
/**
 * @tsplus static ets/Sink/Ops tuple
 * @tsplus location "@effect/core/stream/Sink/operations/tuple"
 */
export declare function tuple<SN extends readonly Sink<any, any, any, any, any>[]>(...[s1, s2, ...sinks]: SN & {
    readonly 0: Sink<any, any, any, any, any>;
    readonly 1: Sink<any, any, any, any, any>;
}): Sink<[
    SN[number]
] extends [{
    [k in typeof _R]: () => infer R;
}] ? R : never, [
    SN[number]
] extends [{
    [k in typeof _E]: () => infer E;
}] ? E : never, [
    SN[number]
] extends [{
    [k in typeof _In]: (_: infer In) => void;
}] ? In : never, [
    SN[number]
] extends [{
    [k in typeof _L]: () => infer L;
}] ? L : never, Tuple<{
    [K in keyof SN]: [SN[K]] extends [{
        [k in typeof _Z]: () => infer Z;
    }] ? Z : never;
}>>;
//# sourceMappingURL=tuple.d.ts.map