import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Effect } from "@effect/core/io/Effect/definition";
export interface Grafter {
    <R, E, A>(effect: LazyArg<Effect<R, E, A>>, __tsplusTrace?: string): Effect<R, E, A>;
}
/**
 * Transplants specified effects so that when those effects fork other
 * effects, the forked effects will be governed by the scope of the fiber that
 * executes this effect.
 *
 * This can be used to "graft" deep grandchildren onto a higher-level scope,
 * effectively extending their lifespans into the parent scope.
 * @tsplus static ets/Effect/Ops transplant
 * @tsplus location "@effect/core/io/Effect/operations/transplant"
 */
export declare function transplant<R, E, A>(f: (grafter: Grafter) => Effect<R, E, A>, __tsplusTrace?: string): Effect<R, E, A>;
//# sourceMappingURL=transplant.d.ts.map