import { Effect } from "@effect/core/io/Effect/definition";
import { Refinement, LazyArg } from "@tsplus/stdlib/data/Function";
import { Predicate } from "@tsplus/stdlib/data/Predicate";
/**
 * Fails with `e` if the predicate fails.
 * @tsplus fluent ets/Effect filterOrFail
 * @tsplus location "@effect/core/io/Effect/operations/filterOrFail"
 */
export declare function filterOrFail_<R, E, E1, A, B extends A>(self: Effect<R, E, A>, f: Refinement<A, B>, error: LazyArg<E1>, __tsplusTrace?: string): Effect<R, E | E1, B>;
export declare function filterOrFail_<R, E, E1, A>(self: Effect<R, E, A>, f: Predicate<A>, error: LazyArg<E1>, __tsplusTrace?: string): Effect<R, E | E1, A>;
/**
 * Fails with `e` if the predicate fails.
 * @tsplus static ets/Effect/Aspects filterOrFail
 * @tsplus location "@effect/core/io/Effect/operations/filterOrFail"
 */
export declare function filterOrFail<E1, A, B extends A>(f: Refinement<A, B>, error: LazyArg<E1>, __tsplusTrace?: string): <R, E>(self: Effect<R, E, A>) => Effect<R, E | E1, B>;
export declare function filterOrFail<E1, A>(f: Predicate<A>, error: LazyArg<E1>, __tsplusTrace?: string): <R, E>(self: Effect<R, E, A>) => Effect<R, E | E1, A>;
//# sourceMappingURL=filterOrFail.d.ts.map