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 the entire stream using the specified schedule. The stream will
 * execute normally, and then repeat again according to the provided schedule.
 * The schedule output will be emitted at the end of each repetition.
 * @tsplus fluent ets/Stream repeatEither
 * @tsplus location "@effect/core/stream/Stream/operations/repeatEither"
 */
export declare function repeatEither_<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 the entire stream using the specified schedule. The stream will
 * execute normally, and then repeat again according to the provided schedule.
 * The schedule output will be emitted at the end of each repetition.
 * @tsplus static ets/Stream/Aspects repeatEither
 * @tsplus pipeable ets/Stream repeatEither
 * @tsplus location "@effect/core/stream/Stream/operations/repeatEither"
 */
export declare const repeatEither: <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=repeatEither.d.ts.map