import { FiberRef } from "@effect/core/io/FiberRef/definition";
import { _Patch, _Value, FiberRefSym } from "@effect/core/io/FiberRef/definition";
export declare class FiberRefInternal<Value, Patch> implements FiberRef<Value, Patch> {
    readonly _initial: Value;
    readonly _diff: (oldValue: Value, newValue: Value) => Patch;
    readonly _combine: (first: Patch, second: Patch) => Patch;
    readonly _patch: (patch: Patch) => (oldValue: Value) => Value;
    readonly _fork: Patch;
    readonly [FiberRefSym]: FiberRefSym;
    readonly [_Value]: () => Value;
    readonly [_Patch]: Patch;
    constructor(_initial: Value, _diff: (oldValue: Value, newValue: Value) => Patch, _combine: (first: Patch, second: Patch) => Patch, _patch: (patch: Patch) => (oldValue: Value) => Value, _fork: Patch);
}
/**
 * @tsplus macro remove
 */
export declare function concreteFiberRef<Value, Patch>(_: FiberRef<Value, Patch>): asserts _ is FiberRefInternal<Value, Patch>;
//# sourceMappingURL=FiberRefInternal.d.ts.map