import { Stream } from "@effect/core/stream/Stream/definition";
import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Schedule } from "@effect/core/io/Schedule/definition";
import { Either } from "@tsplus/stdlib/data/Either/definition";
/**
 * Repeats each element of the stream using the provided schedule. When the
 * schedule is finished, then the output of the schedule will be emitted into
 * the stream. Repetitions are done in addition to the first execution, which
 * means using `Schedule.recurs(1)` actually results in the original effect,
 * plus an additional recurrence, for a total of two repetitions of each value
 * in the stream.
 * @tsplus fluent ets/Stream repeatElementsEither
 * @tsplus location "@effect/core/stream/Stream/operations/repeatElementsEither"
 */
export declare function repeatElementsEither_<R, E, A, S, R2, B>(self: Stream<R, E, A>, schedule: LazyArg<Schedule<S, R2, unknown, B>>, __tsplusTrace?: string): Stream<R | R2, E, Either<B, A>>;
/**
 * Repeats each element of the stream using the provided schedule. When the
 * schedule is finished, then the output of the schedule will be emitted into
 * the stream. Repetitions are done in addition to the first execution, which
 * means using `Schedule.recurs(1)` actually results in the original effect,
 * plus an additional recurrence, for a total of two repetitions of each value
 * in the stream.
 * @tsplus static ets/Stream/Aspects repeatElementsEither
 * @tsplus pipeable ets/Stream repeatElementsEither
 * @tsplus location "@effect/core/stream/Stream/operations/repeatElementsEither"
 */
export declare const repeatElementsEither: <S, R2, B>(schedule: import("@tsplus/stdlib/data/Function").LazyArg<import("../../../io/Schedule").Schedule<S, R2, unknown, B>>, __tsplusTrace?: string) => <R, E, A>(self: import("../definition").Stream<R, E, A>) => import("../definition").Stream<R | R2, E, import("@tsplus/stdlib/data/Either").Either<B, A>>;
//# sourceMappingURL=repeatElementsEither.d.ts.map