import type { MemoryDelivery } from './delivery.js'; import { type DeliveryPhase, type StateStore } from './types.js'; export interface DeliverySchedulerOptions { store: StateStore; delivery: Pick & Partial>; pollIntervalMs: number; initialBackoffMs: number; maxBackoffMs: number; maxAttemptsPerPhase: number; maxOperationsPerTick: number; onStatus?(status: { operationId: string; phase: DeliveryPhase; errorCode?: string; }): void; onError?(code: 'MEMORY_SCHEDULER_UNAVAILABLE'): void; } /** One owner-level service, independent of viewers and session lifetimes. */ export declare class DeliveryScheduler { #private; constructor(options: DeliverySchedulerOptions); start(): void; wake(): void; /** Stop taking new work. Without a deadline, wait for the entire active tick, * including local receipt writes. A bounded wait returns false if still busy; * it is not a persistence fence and does not cancel a sent mutation. */ stop(waitMs?: number): Promise; }