import type { NodeAttempt, NodeAttemptId, RetryPolicy, WorkflowDefinition, WorkflowErrorSummary } from "../types/index.js"; export type WorkflowNodeRetryDecision = { kind: "retry"; policy: RetryPolicy; currentAttempt: number; nextAttempt: number; maxAttempts: number; availableAt: string; delayMs: number; } | { kind: "exhausted"; policy: RetryPolicy; currentAttempt: number; maxAttempts: number; error: WorkflowErrorSummary; } | { kind: "none"; reason: "no_policy" | "not_retryable" | "retry_on_mismatch"; }; export type WorkflowNodeRetryDecisionOptions = { workflow: Pick; node: WorkflowDefinition["nodes"][string]; nodeAttempt: Pick; error: WorkflowErrorSummary; now?: () => Date | string; }; export declare function resolveWorkflowRetryPolicy(workflow: Pick, node: WorkflowDefinition["nodes"][string]): RetryPolicy | undefined; export declare function decideWorkflowNodeRetry(options: WorkflowNodeRetryDecisionOptions): WorkflowNodeRetryDecision; export declare function createRetryScheduledNodeAttempt(previousAttempt: NodeAttempt, decision: Extract, options?: { id?: NodeAttemptId; error?: WorkflowErrorSummary; }): NodeAttempt; //# sourceMappingURL=retry.d.ts.map