import type { NotificationPriority } from './types.js'; export interface SchedulerStats { readonly queued: number; readonly active: number; readonly completed: number; readonly rejected: number; } export interface TaskScheduler { submit(task: (signal: AbortSignal) => Promise | Result, options?: { readonly priority?: NotificationPriority; readonly deadlineMs?: number; readonly signal?: AbortSignal; }): Promise; stats(): SchedulerStats; drain(): Promise; close(reason?: unknown): void; } export declare function forgeScheduler(options?: { readonly concurrency?: number; readonly maxQueue?: number; }): TaskScheduler; export interface CircuitBreaker { execute(operation: () => Promise): Promise; state(): 'closed' | 'open' | 'half-open'; reset(): void; } export declare function forgeCircuitBreaker(options?: { readonly failures?: number; readonly resetAfterMs?: number; }): CircuitBreaker; //# sourceMappingURL=scheduler.d.ts.map