import { Predicate } from "@tsplus/stdlib/data/Predicate"; import { STM } from "@effect/core/stm/STM/definition/base"; /** * Repeats this `STM` effect until its result satisfies the specified * predicate. **WARNING**: `repeatUntil` uses a busy loop to repeat the * effect and will consume a thread until it completes (it cannot yield). This * is because STM describes a single atomic transaction which must either * complete, retry or fail a transaction before yielding back to the ZIO * Runtime. * - Use `retryUntil` instead if you don't need to maintain transaction * state for repeats. * - Ensure repeating the STM effect will eventually satisfy the predicate. * - Consider using the Blocking thread pool for execution of the * transaction. * @tsplus static effect/core/stm/STM.Aspects repeatUntil * @tsplus pipeable effect/core/stm/STM repeatUntil * @tsplus location "@effect/core/stm/STM/operations/repeatUntil" */ export declare function repeatUntil(f: Predicate): (self: import("../definition").STM) => import("../definition").STM; //# sourceMappingURL=repeatUntil.d.ts.map