import type { Task, Worker, WorkerFilter, WorkerAssignment, BroadcastProvider, ShortTermStore, LongTermStore, TaskcastHooks, AssignMode, DisconnectPolicy, WorkerMatchRule } from './types.js'; import type { TaskEngine } from './engine.js'; export interface WorkerManagerOptions { engine: TaskEngine; shortTermStore: ShortTermStore; broadcast: BroadcastProvider; longTermStore?: LongTermStore; hooks?: TaskcastHooks; defaults?: WorkerManagerDefaults; } export interface WorkerManagerDefaults { assignMode?: AssignMode; heartbeatIntervalMs?: number; heartbeatTimeoutMs?: number; offerTimeoutMs?: number; disconnectPolicy?: DisconnectPolicy; disconnectGraceMs?: number; } export interface WorkerRegistration { id?: string; matchRule: WorkerMatchRule; capacity: number; weight?: number; connectionMode: Worker['connectionMode']; metadata?: Record; } export interface WorkerUpdate { weight?: number; capacity?: number; matchRule?: WorkerMatchRule; status?: 'draining' | 'idle'; } export interface DispatchResult { matched: boolean; workerId?: string; } export interface ClaimResult { success: boolean; reason?: string; } export interface DeclineOptions { blacklist?: boolean; } export declare class WorkerManager { private opts; private engine; private shortTermStore; private longTermStore?; private hooks?; constructor(opts: WorkerManagerOptions); get heartbeatIntervalMs(): number; private emitTaskAudit; private emitWorkerAudit; registerWorker(config: WorkerRegistration): Promise; unregisterWorker(workerId: string): Promise; updateWorker(workerId: string, update: WorkerUpdate): Promise; heartbeat(workerId: string): Promise; getWorker(workerId: string): Promise; listWorkers(filter?: WorkerFilter): Promise; dispatchTask(taskId: string): Promise; claimTask(taskId: string, workerId: string): Promise; declineTask(taskId: string, workerId: string, opts?: DeclineOptions): Promise; getWorkerTasks(workerId: string): Promise; releaseTask(taskId: string): Promise; waitForTask(workerId: string, signal?: AbortSignal): Promise; notifyNewTask(taskId: string): Promise; } //# sourceMappingURL=worker-manager.d.ts.map