import { Layer } from "@effect/core/io/Layer/definition";
import { Tag } from "@tsplus/stdlib/service/Tag";
/**
 * Projects out part of one of the services output by this layer using the
 * specified function.
 * @tsplus fluent ets/Layer project
 * @tsplus location "@effect/core/io/Layer/operations/project"
 */
export declare function project_<RIn, E, ROut, A, B>(self: Layer<RIn, E, ROut | A>, tagA: Tag<A>, tagB: Tag<B>, f: (a: A) => B): Layer<RIn, E, B>;
/**
 * Projects out part of one of the services output by this layer using the
 * specified function.
 * @tsplus static ets/Layer/Aspects project
 * @tsplus pipeable ets/Layer project
 * @tsplus location "@effect/core/io/Layer/operations/project"
 */
export declare const project: <A, B>(tagA: import("@tsplus/stdlib/service/Tag").Tag<A>, tagB: import("@tsplus/stdlib/service/Tag").Tag<B>, f: (a: A) => B) => <RIn, E, ROut>(self: import("../definition").Layer<RIn, E, ROut | A>) => import("../definition").Layer<RIn, E, B>;
//# sourceMappingURL=project.d.ts.map