import type { ScheduledJob } from '../types'; import { type MisfireCount } from './misfire'; import { type MaterializerOptions } from './options'; import type { RecordedOccurrence, RunInTransaction } from './transaction'; export type { MaterializerOptions } from './options'; export type { MisfireCount } from './misfire'; export interface MaterializerSummary { claimedJobs: number; occurrences: number; created: RecordedOccurrence[]; deferredJobs: number; misfires: MisfireCount[]; retiredOccurrences: number; } export type OnJobPlanError = (job: ScheduledJob, error: unknown) => void; export interface MaterializerHooks { onPlanError?: OnJobPlanError; onSkippedDuplicates?: (context: { planned: number; recorded: number; }) => void; } export declare function materialize(runInTransaction: RunInTransaction, options?: MaterializerOptions, hooks?: MaterializerHooks, signal?: AbortSignal): Promise; export declare function totalDiscarded(misfires: MisfireCount[]): number;