import { FiberRef } from "@effect/core/io/FiberRef/definition";
/**
 * Combines two patches to produce a new patch that describes the updates of
 * the first patch and then the updates of the second patch. The combine
 * operation should be associative. In addition, if the combine operation is
 * commutative then joining multiple fibers concurrently will result in
 * deterministic `FiberRef` values.
 * @tsplus fluent ets/FiberRef combine
 * @tsplus location "@effect/core/io/FiberRef/operations/combine"
 */
export declare function combine_<Value, Patch>(self: FiberRef<Value, Patch>, first: Patch, second: Patch): Patch;
/**
 * Combines two patches to produce a new patch that describes the updates of
 * the first patch and then the updates of the second patch. The combine
 * operation should be associative. In addition, if the combine operation is
 * commutative then joining multiple fibers concurrently will result in
 * deterministic `FiberRef` values.
 * @tsplus static ets/FiberRef/Aspects combine
 * @tsplus pipeable ets/FiberRef combine
 * @tsplus location "@effect/core/io/FiberRef/operations/combine"
 */
export declare const combine: <Patch>(first: Patch, second: Patch) => <Value>(self: import("../definition").FiberRef<Value, Patch>) => Patch;
//# sourceMappingURL=combine.d.ts.map