import { type EffectLifecycleObserver } from "./effect-lifecycle.js"; import type { CapabilityExecutionJournal } from "./internal/capability-runtime.js"; import type { DurableEffectRecord, DurableEffectState, DurableEffectStore, ReconciliationPage, ReconciliationScanOptions, ReconciliationScanPage } from "./internal/durable-types.js"; export declare class DurableEffectTransitionError extends Error { readonly effectId: string; readonly transition: string; constructor(effectId: string, transition: string); } export interface DurableEffectJournalOptions { readonly store: DurableEffectStore; readonly now?: () => number; /** Tests/local development only. Production journals require `store.durability === "durable"`. */ readonly allowMemoryStore?: boolean; } export declare function createDurableEffectJournal(options: DurableEffectJournalOptions): CapabilityExecutionJournal; export declare class MemoryDurableEffectStore implements DurableEffectStore { readonly durability: "memory"; private readonly records; private readonly byState; create(record: DurableEffectRecord): boolean; get(effectId: string): DurableEffectRecord | undefined; transition(input: Parameters[0]): boolean; list(): readonly DurableEffectRecord[]; scan(input: ReconciliationScanOptions): ReconciliationScanPage; } export interface EffectReconciliationFinding { readonly effectId: string; readonly capability: string; readonly state: "incomplete" | "ambiguous"; readonly updatedAt: number; } export declare function reconcileEffectsPage(store: DurableEffectStore, options: { readonly staleBefore: number; readonly observer?: EffectLifecycleObserver; readonly cursor?: string; readonly limit?: number; }): Promise>; export declare function reconcileEffects(store: DurableEffectStore, options: { readonly staleBefore: number; readonly observer?: EffectLifecycleObserver; }): Promise; //# sourceMappingURL=durable-effect.d.ts.map