import { Effect } from "@effect/core/io/Effect/definition";
import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Maybe } from "@tsplus/stdlib/data/Maybe/definition";
/**
 * The moral equivalent of `if (!p) exp` when `p` has side-effects.
 * @tsplus fluent ets/Effect unlessEffect
 * @tsplus location "@effect/core/io/Effect/operations/unlessEffect"
 */
export declare function unlessEffect_<R, E, A, R2, E2>(self: Effect<R, E, A>, predicate: LazyArg<Effect<R2, E2, boolean>>, __tsplusTrace?: string): Effect<R | R2, E | E2, Maybe<A>>;
/**
 * The moral equivalent of `if (!p) exp` when `p` has side-effects.
 * @tsplus static ets/Effect/Aspects unlessEffect
 * @tsplus pipeable ets/Effect unlessEffect
 * @tsplus location "@effect/core/io/Effect/operations/unlessEffect"
 */
export declare const unlessEffect: <R2, E2>(predicate: import("@tsplus/stdlib/data/Function").LazyArg<import("../definition").Effect<R2, E2, boolean>>, __tsplusTrace?: string) => <R, E, A>(self: import("../definition").Effect<R, E, A>) => import("../definition").Effect<R | R2, E | E2, import("@tsplus/stdlib/data/Maybe").Maybe<A>>;
//# sourceMappingURL=unlessEffect.d.ts.map