import { Exit } from "@effect/core/io/Exit/definition"; import type { Journal } from "@effect/core/stm/STM/definition/primitives"; /** * @tsplus type effect/core/stm/STM/TryCommit */ export type TryCommit = Done | Suspend; /** * @tsplus type effect/core/stm/STM/TryCommit.Ops */ export interface TryCommitOps { } export declare const TryCommit: TryCommitOps; export declare function unifyTryCommit>(self: X): TryCommit<[ X ] extends [TryCommit] ? EX : never, [ X ] extends [TryCommit] ? AX : never>; export declare class Done { readonly exit: Exit; readonly _tag = "Done"; constructor(exit: Exit); } export declare class Suspend { readonly journal: Journal; readonly _tag = "Suspend"; constructor(journal: Journal); } /** * @tsplus static effect/core/stm/STM/TryCommit.Ops done * @tsplus location "@effect/core/stm/STM/TryCommit" */ export declare function done(exit: Exit): TryCommit; /** * @tsplus static effect/core/stm/STM/TryCommit.Ops suspend * @tsplus location "@effect/core/stm/STM/TryCommit" */ export declare function suspend(journal: Journal): TryCommit; //# sourceMappingURL=TryCommit.d.ts.map