import type { SqliteControllerStore, WorkflowTurnIntentRecord, WorkflowTurnIntentResolution } from "../controllers/sqlite.js"; export type BranchIntentResolution = { resolution: WorkflowTurnIntentResolution; messageId: string; }; type NaturalDelivery = { runId: string; targetSessionId: string; resolution: Exclude; send: (turnIntentId?: string) => void; }; type FallbackDelivery = { targetSessionId: string; send: (intent: WorkflowTurnIntentRecord) => void; }; export declare class DeferredTurnCoordinator { private readonly store; private readonly branchResolution; private readonly leaseMs; private readonly deferredNatural; constructor(options: { store: () => SqliteControllerStore | null; branchResolution: (intentId: string) => BranchIntentResolution | null; leaseMs: number; }); sendNatural(delivery: NaturalDelivery, idle: boolean): "sent" | "deferred" | "suppressed"; flushNatural(idle: boolean): number; deliverFallbacks(delivery: FallbackDelivery, idle: boolean): number; clearDeferred(): void; private deliverNatural; } export {};