import type { Config } from "./config.js"; import { PeriodicScheduler } from "./periodic.js"; import type { JobPayload } from "./types.js"; export interface WorkSnapshot { workerId: string; queue: string; payloadRaw: string; payload?: JobPayload; runAt: number; elapsed: number; } export declare class Runner { private readonly config; private quieting; private stopping; private readonly workers; private schedulerRunning; private schedulerController?; private heartbeatController?; private heartbeatLoopPromise?; private jobController?; private readonly queueStrategy; private baseRedis?; private readonly workerRedis; private readonly identity; private readonly startedAt; private readonly workState; private readonly inProgress; private lastCleanupAt; private readonly rttReadings; private readonly jobLogger; private leaderElector?; private _periodicScheduler?; constructor(config: Config); start(): Promise; quiet(): Promise; stop(): Promise; /** * Returns true if this process is currently the leader. */ leader(): boolean; /** * Get the periodic scheduler for registering cron jobs. */ get periodicScheduler(): PeriodicScheduler | undefined; snapshotWork(): WorkSnapshot[]; private startScheduler; private runSchedulerLoop; private initialWait; private processCount; private scaledPollInterval; private randomPollInterval; private stopScheduler; private heartbeat; private handleSignal; private dumpWorkState; private clearHeartbeat; private processInfo; private checkRtt; private recordRtt; private waitForDrain; private waitForWorkers; private requeueInProgress; private sendRawToMorgue; private runWithProfiler; private cleanupProcesses; private startHeartbeat; private heartbeatLoop; private stopHeartbeat; private enqueueScheduled; private workLoop; private fetchWork; private processJob; private handleFailure; private safeRetryIn; private retriesExhausted; private sendToMorgue; private runDeathHandlers; private runErrorHandlers; private buildErrorContext; private safeErrorMessage; private updateStat; } //# sourceMappingURL=runner.d.ts.map