import { Layer } from "@effect/core/io/Layer/definition";
/**
 * Feeds the output services of this layer into the input of the specified
 * layer, resulting in a new layer with the inputs of this layer, and the
 * outputs of both layers.
 * @tsplus operator ets/Layer >
 * @tsplus fluent ets/Layer andTo
 * @tsplus location "@effect/core/io/Layer/operations/andTo"
 */
export declare function andTo_<RIn, E, ROut, RIn2, E2, ROut2>(self: Layer<RIn, E, ROut>, that: Layer<RIn2, E2, ROut2>): Layer<RIn | Exclude<RIn2, ROut>, E2 | E, ROut | ROut2>;
/**
 * Feeds the output services of this layer into the input of the specified
 * layer, resulting in a new layer with the inputs of this layer, and the
 * outputs of both layers.
 * @tsplus static ets/Layer/Aspects andTo
 * @tsplus pipeable ets/Layer andTo
 * @tsplus location "@effect/core/io/Layer/operations/andTo"
 */
export declare const andTo: <RIn2, E2, ROut2>(that: import("../definition").Layer<RIn2, E2, ROut2>) => <RIn, E, ROut>(self: import("../definition").Layer<RIn, E, ROut>) => import("../definition").Layer<RIn | Exclude<RIn2, ROut>, E | E2, ROut | ROut2>;
//# sourceMappingURL=andTo.d.ts.map