import type { HasClock } from "../Clock/index.js"; import * as E from "../Either/index.js"; import * as O from "../Option/index.js"; import * as S from "../Schedule/index.js"; import type { Effect } from "./effect.js"; /** * Returns a new effect that repeats this effect according to the specified * schedule or until the first failure, at which point, the failure value * and schedule output are passed to the specified handler. * * Scheduled recurrences are in addition to the first execution, so that * `io.repeat(Schedule.once)` yields an effect that executes `io`, and then * if that succeeds, executes `io` an additional time. */ export declare function repeatOrElseEither_(self: Effect, schedule: S.Schedule, orElse: (_: E, __: O.Option) => Effect, __trace?: string): Effect>; /** * Returns a new effect that repeats this effect according to the specified * schedule or until the first failure, at which point, the failure value * and schedule output are passed to the specified handler. * * Scheduled recurrences are in addition to the first execution, so that * `io.repeat(Schedule.once)` yields an effect that executes `io`, and then * if that succeeds, executes `io` an additional time. * * @ets_data_first repeatOrElseEither_ */ export declare function repeatOrElseEither(schedule: S.Schedule, orElse: (_: E, __: O.Option) => Effect, __trace?: string): (self: Effect) => Effect>; /** * Returns a new effect that repeats this effect according to the specified * schedule or until the first failure, at which point, the failure value * and schedule output are passed to the specified handler. * * Scheduled recurrences are in addition to the first execution, so that * `io.repeat(Schedule.once)` yields an effect that executes `io`, and then * if that succeeds, executes `io` an additional time. */ export declare function repeatOrElse_(self: Effect, schedule: S.Schedule, orElse: (_: E, __: O.Option) => Effect, __trace?: string): Effect; /** * Returns a new effect that repeats this effect according to the specified * schedule or until the first failure, at which point, the failure value * and schedule output are passed to the specified handler. * * Scheduled recurrences are in addition to the first execution, so that * `io.repeat(Schedule.once)` yields an effect that executes `io`, and then * if that succeeds, executes `io` an additional time. * * @ets_data_first repeatOrElse_ */ export declare function repeatOrElse(schedule: S.Schedule, orElse: (_: E, __: O.Option) => Effect, __trace?: string): (self: Effect) => Effect; /** * Returns a new effect that repeats this effect according to the specified * schedule or until the first failure. Scheduled recurrences are in addition * to the first execution, so that `io.repeat(Schedule.once)` yields an * effect that executes `io`, and then if that succeeds, executes `io` an * additional time. */ export declare function repeat_(self: Effect, schedule: S.Schedule, __trace?: string): Effect; /** * Returns a new effect that repeats this effect according to the specified * schedule or until the first failure. Scheduled recurrences are in addition * to the first execution, so that `io.repeat(Schedule.once)` yields an * effect that executes `io`, and then if that succeeds, executes `io` an * additional time. * * @ets_data_first repeat_ */ export declare function repeat(schedule: S.Schedule, __trace?: string): (self: Effect) => Effect; //# sourceMappingURL=repeat.d.ts.map