import type * as Tp from "../../Collections/Immutable/Tuple/index.js"; import type { Has, Tag } from "../../Has/index.js"; import * as T from "../index.js"; import * as L from "../Layer/index.js"; export interface FiberState { readonly get: T.Effect; readonly set: (s: S) => T.Effect; readonly update: (f: (s: S) => S) => T.Effect; readonly modify: (f: (s: S) => Tp.Tuple<[A, S]>) => T.Effect; } export interface FiberStateExternal { readonly Tag: Tag>; readonly get: T.Effect>, never, S>; readonly set: (s: S) => T.Effect>, never, void>; readonly update: (f: (s: S) => S) => T.Effect>, never, void>; readonly modify: (f: (s: S) => Tp.Tuple<[A, S]>) => T.Effect>, never, A>; readonly runState: (s: S) => (self: T.Effect> & R, E, A>) => T.Effect; readonly Live: (s: S) => L.Layer>>; } export declare function makeFiberState(initial: S): T.Effect>; export declare function FiberState(S: PropertyKey): FiberStateExternal; //# sourceMappingURL=index.d.ts.map