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