import { Effect } from "@effect/core/io/Effect/definition";
import { Scope } from "@effect/core/io/Scope/definition";
import { FiberRef } from "@effect/core/io/FiberRef/definition";
/**
 * Creates a new `FiberRef` with the specified initial value, using the
 * specified patch type to combine updates to the value in a compositional
 * way.
 * @tsplus static ets/FiberRef/Ops makePatch
 * @tsplus location "@effect/core/io/FiberRef/operations/makePatch"
 */
export declare function makePatch<Value, Patch>(initial: Value, diff: (oldValue: Value, newValue: Value) => Patch, combine: (first: Patch, second: Patch) => Patch, patch: (patch: Patch) => (oldValue: Value) => Value, fork: Patch, __tsplusTrace?: string): Effect<Scope, never, FiberRef<Value, Patch>>;
//# sourceMappingURL=makePatch.d.ts.map