import { Schedule } from "@effect/core/io/Schedule/definition";
import { Tuple } from "@tsplus/stdlib/data/Tuple/definition";
import { Either } from "@tsplus/stdlib/data/Either/definition";
import { Effect } from "@effect/core/io/Effect/definition";
/**
 * Returns a new schedule that allows choosing between feeding inputs to this
 * schedule, or feeding inputs to the specified schedule.
 * @tsplus operator ets/Schedule +
 * @tsplus operator ets/Schedule/WithState +
 * @tsplus fluent ets/Schedule choose
 * @tsplus fluent ets/Schedule/WithState choose
 * @tsplus location "@effect/core/io/Schedule/operations/choose"
 */
export declare function choose_<State, Env, In, Out, State1, Env1, In2, Out2>(self: Schedule<State, Env, In, Out>, that: Schedule<State1, Env1, In2, Out2>): Schedule<Tuple<[State, State1]>, Env | Env1, Either<In, In2>, Either<Out, Out2>>;
/**
 * Returns a new schedule that allows choosing between feeding inputs to this
 * schedule, or feeding inputs to the specified schedule.
 * @tsplus static ets/Schedule/Aspects choose
 * @tsplus pipeable ets/Schedule choose
 * @tsplus location "@effect/core/io/Schedule/operations/choose"
 */
export declare const choose: <State1, Env1, In2, Out2>(that: import("../definition").Schedule<State1, Env1, In2, Out2>) => <State, Env_1, In, Out>(self: import("../definition").Schedule<State, Env_1, In, Out>) => import("../definition").Schedule<import("@tsplus/stdlib/data/Tuple").Tuple<[State, State1]>, Env_1 | Env1, import("@tsplus/stdlib/data/Either").Either<In, In2>, import("@tsplus/stdlib/data/Either").Either<Out, Out2>>;
//# sourceMappingURL=choose.d.ts.map