import { Schedule } from "@effect/core/io/Schedule/definition";
import { Predicate } from "@tsplus/stdlib/data/Predicate";
/**
 * Returns a new schedule that continues for as long the specified predicate
 * on the output evaluates to true.
 * @tsplus fluent ets/Schedule whileOutput
 * @tsplus fluent ets/Schedule/WithState whileOutput
 * @tsplus location "@effect/core/io/Schedule/operations/whileOutput"
 */
export declare function whileOutput_<State, Env, In, Out>(self: Schedule<State, Env, In, Out>, f: Predicate<Out>): Schedule<State, Env, In, Out>;
/**
 * Returns a new schedule that continues for as long the specified predicate
 * on the output evaluates to true.
 * @tsplus static ets/Schedule/Aspects whileOutput
 * @tsplus pipeable ets/Schedule whileOutput
 * @tsplus location "@effect/core/io/Schedule/operations/whileOutput"
 */
export declare const whileOutput: <Out>(f: import("@tsplus/stdlib/data/Predicate").Predicate<Out>) => <State, Env_1, In>(self: import("../definition").Schedule<State, Env_1, In, Out>) => import("../definition").Schedule<State, Env_1, In, Out>;
//# sourceMappingURL=whileOutput.d.ts.map