import { Supervisor } from "@effect/core/io/Supervisor/definition";
import { Tuple } from "@tsplus/stdlib/data/Tuple/definition";
/**
 * Returns a new supervisor that performs the function of this supervisor, and
 * the function of the specified supervisor, producing a tuple of the outputs
 * produced by both supervisors.
 * @tsplus operator ets/Supervisor +
 * @tsplus fluent ets/Supervisor and
 * @tsplus location "@effect/core/io/Supervisor/operations/and"
 */
export declare function and_<A, B>(self: Supervisor<A>, that: Supervisor<B>): Supervisor<Tuple<[A, B]>>;
/**
 * Returns a new supervisor that performs the function of this supervisor, and
 * the function of the specified supervisor, producing a tuple of the outputs
 * produced by both supervisors.
 * @tsplus pipeable ets/Supervisor and
 * @tsplus location "@effect/core/io/Supervisor/operations/and"
 */
export declare const and: <B>(that: import("../definition").Supervisor<B>) => <A>(self: import("../definition").Supervisor<A>) => import("../definition").Supervisor<import("@tsplus/stdlib/data/Tuple").Tuple<[A, B]>>;
//# sourceMappingURL=and.d.ts.map