/** * @since 1.0.0 */ import type { NonEmptyReadonlyArray } from "effect/Array"; import type * as Brand from "effect/Brand"; import * as Cause from "effect/Cause"; import * as Effect from "effect/Effect"; import * as Exit from "effect/Exit"; import * as Schema from "effect/Schema"; import * as Workflow from "./Workflow.js"; import type { WorkflowEngine, WorkflowInstance } from "./WorkflowEngine.js"; /** * @since 1.0.0 * @category Symbols */ export declare const TypeId: unique symbol; /** * @since 1.0.0 * @category Symbols */ export type TypeId = typeof TypeId; /** * @since 1.0.0 * @category Models */ export interface DurableDeferred { readonly [TypeId]: TypeId; readonly name: string; readonly successSchema: Success; readonly errorSchema: Error; readonly exitSchema: Schema.ExitFromSelf; readonly withActivityAttempt: Effect.Effect>; } /** * @since 1.0.0 * @category Models */ export interface Any { readonly [TypeId]: TypeId; readonly name: string; readonly successSchema: Schema.Schema.Any; readonly errorSchema: Schema.Schema.All; readonly exitSchema: Schema.ExitFromSelf; } /** * @since 1.0.0 * @category Constructors */ export declare const make: (name: string, options?: { readonly success?: Success | undefined; readonly error?: Error | undefined; }) => DurableDeferred; declare const await_: (self: DurableDeferred) => Effect.Effect; export { /** * @since 1.0.0 * @category Combinators */ await_ as await }; /** * @since 1.0.0 * @category Combinators */ export declare const into: { /** * @since 1.0.0 * @category Combinators */ (self: DurableDeferred): (effect: Effect.Effect) => Effect.Effect; /** * @since 1.0.0 * @category Combinators */ (effect: Effect.Effect, self: DurableDeferred): Effect.Effect; }; /** * @since 1.0.0 * @category Racing */ export declare const raceAll: >, SI, SR, EI, ER>(options: { name: string; success: Schema.Schema ? S : never, SI, SR>; error: Schema.Schema ? E : never, EI, ER>; effects: Effects; }) => Effect.Effect<(Effects[number] extends Effect.Effect ? _A : never), (Effects[number] extends Effect.Effect ? _E_1 : never), (Effects[number] extends Effect.Effect ? R : never) | SR | ER | WorkflowEngine | WorkflowInstance>; /** * @since 1.0.0 * @category Token */ export declare const TokenTypeId: unique symbol; /** * @since 1.0.0 * @category Token */ export type TokenTypeId = typeof TokenTypeId; /** * @since 1.0.0 * @category Token */ export type Token = Brand.Branded; /** * @since 1.0.0 * @category Token */ export declare const Token: Schema.brand; declare const TokenParsed_base: Schema.Class, never, { readonly executionId: string; } & { readonly workflowName: string; } & { readonly deferredName: string; }, {}, {}>; /** * @since 1.0.0 * @category Token */ export declare class TokenParsed extends TokenParsed_base { /** * @since 1.0.0 */ get asToken(): Token; /** * @since 1.0.0 */ static readonly FromString: Schema.Schema; /** * @since 1.0.0 */ static readonly fromString: (i: string, overrideOptions?: import("effect/SchemaAST").ParseOptions) => TokenParsed; /** * @since 1.0.0 */ static readonly encode: (a: TokenParsed, overrideOptions?: import("effect/SchemaAST").ParseOptions) => string; } /** * @since 1.0.0 * @category Token */ export declare const token: (self: DurableDeferred) => Effect.Effect; /** * @since 1.0.0 * @category Token */ export declare const tokenFromExecutionId: { /** * @since 1.0.0 * @category Token */ (options: { readonly workflow: Workflow.Any; readonly executionId: string; }): (self: DurableDeferred) => Token; /** * @since 1.0.0 * @category Token */ (self: DurableDeferred, options: { readonly workflow: Workflow.Any; readonly executionId: string; }): Token; }; /** * @since 1.0.0 * @category Token */ export declare const tokenFromPayload: { /** * @since 1.0.0 * @category Token */ (options: { readonly workflow: W; readonly payload: Schema.Simplify>; }): (self: DurableDeferred) => Effect.Effect; /** * @since 1.0.0 * @category Token */ (self: DurableDeferred, options: { readonly workflow: W; readonly payload: Schema.Simplify>; }): Effect.Effect; }; /** * @since 1.0.0 * @category Combinators */ export declare const done: { /** * @since 1.0.0 * @category Combinators */ (options: { readonly token: Token; readonly exit: Exit.Exit; }): (self: DurableDeferred) => Effect.Effect; /** * @since 1.0.0 * @category Combinators */ (self: DurableDeferred, options: { readonly token: Token; readonly exit: Exit.Exit; }): Effect.Effect; }; /** * @since 1.0.0 * @category Combinators */ export declare const succeed: { /** * @since 1.0.0 * @category Combinators */ (options: { readonly token: Token; readonly value: Success["Type"]; }): (self: DurableDeferred) => Effect.Effect; /** * @since 1.0.0 * @category Combinators */ (self: DurableDeferred, options: { readonly token: Token; readonly value: Success["Type"]; }): Effect.Effect; }; /** * @since 1.0.0 * @category Combinators */ export declare const fail: { /** * @since 1.0.0 * @category Combinators */ (options: { readonly token: Token; readonly error: Error["Type"]; }): (self: DurableDeferred) => Effect.Effect; /** * @since 1.0.0 * @category Combinators */ (self: DurableDeferred, options: { readonly token: Token; readonly error: Error["Type"]; }): Effect.Effect; }; /** * @since 1.0.0 * @category Combinators */ export declare const failCause: { /** * @since 1.0.0 * @category Combinators */ (options: { readonly token: Token; readonly cause: Cause.Cause; }): (self: DurableDeferred) => Effect.Effect; /** * @since 1.0.0 * @category Combinators */ (self: DurableDeferred, options: { readonly token: Token; readonly cause: Cause.Cause; }): Effect.Effect; }; //# sourceMappingURL=DurableDeferred.d.ts.map