import * as Effect from "effect/Effect"; import * as MutableRef from "effect/MutableRef"; import * as Option from "effect/Option"; import * as Scope from "effect/Scope"; export type State = { readonly _tag: "Closed"; } | { readonly _tag: "Acquiring"; readonly scope: Scope.CloseableScope; } | { readonly _tag: "Acquired"; readonly scope: Scope.CloseableScope; readonly value: A; }; export declare class ResourceRef { readonly state: MutableRef.MutableRef>; readonly acquire: (scope: Scope.Scope) => Effect.Effect; static from: (parentScope: Scope.Scope, acquire: (scope: Scope.Scope) => Effect.Effect) => Effect.Effect, E_1, never>; constructor(state: MutableRef.MutableRef>, acquire: (scope: Scope.Scope) => Effect.Effect); latch: Effect.Latch; unsafeGet(): Option.Option; unsafeRebuild(): Effect.Effect; await: Effect.Effect; } //# sourceMappingURL=resourceRef.d.ts.map