import { Effect } from "@effect/core/io/Effect/definition";
import { Layer } from "@effect/core/io/Layer/definition";
/**
 * Provides a layer to the effect, which translates it to another level.
 * @tsplus fluent ets/Effect provideLayer
 * @tsplus location "@effect/core/io/Effect/operations/provideLayer"
 */
export declare function provideLayer_<R, E, A, E1, A1>(self: Effect<A, E1, A1>, layer: Layer<R, E, A>, __tsplusTrace?: string): Effect<R, E | E1, A1>;
/**
 * Provides a layer to the effect, which translates it to another level.
 * @tsplus static ets/Effect/Aspects provideLayer
 * @tsplus pipeable ets/Effect provideLayer
 * @tsplus location "@effect/core/io/Effect/operations/provideLayer"
 */
export declare const provideLayer: <R, E, A>(layer: import("../../Layer").Layer<R, E, A>, __tsplusTrace?: string) => <E1, A1>(self: import("../definition").Effect<A, E1, A1>) => import("../definition").Effect<R, E | E1, A1>;
//# sourceMappingURL=provideLayer.d.ts.map