import type { TaskHandler } from './executor'; import type { MaterializerSummary } from './materializer'; import type { ReapResult } from './reaper'; import type { ReconciliationSummary } from './reconciliation'; import type { RetentionSummary } from './retention'; import type { ClaimedTask } from './types'; export interface Scheduler { registerTaskHandler(taskType: string, handler: TaskHandler): void; start(): void; stop(): Promise; } export interface SchedulerPasses { materialize(signal?: AbortSignal): Promise; execute(signal?: AbortSignal): Promise; reap(signal?: AbortSignal): Promise; prune(signal?: AbortSignal): Promise; reconcile(signal?: AbortSignal): Promise; }