import type { CollectionFactSelector } from './collection-selection.js'; import type { MemoryDelivery } from './delivery.js'; import { type StateStore } from './types.js'; type Session = Parameters[1]; export interface CollectionSchedulerOptions { store: StateStore; delivery: Pick; selector: Pick; /** Trusted owner-bound lookup, including persisted sessions without viewers. */ resolveSession(sessionId: string, signal: AbortSignal): Promise; scope?: string | null; pollIntervalMs: number; mergeWindowMs: number; maxWaitMs: number; workTimeoutMs: number; leaseMs: number; initialBackoffMs: number; maxBackoffMs: number; maxAttempts: number; maxRequestsPerBatch: number; wakeDelivery(): void; onError?(code: 'MEMORY_COLLECTION_SCHEDULER_UNAVAILABLE'): void; } /** Owner service: durable claims and recovery never depend on an open viewer. */ export declare class CollectionScheduler { #private; constructor(options: CollectionSchedulerOptions); start(): void; wake(): void; stop(): Promise; } export {};