export type SchedulerState = "queued" | "running" | "success" | "error" | "aborted"; export declare const DEFAULT_MAX_CONCURRENCY = 5; export interface ScheduledTask { id: string; provider?: string; run: (lease: ProviderLease) => Promise; } export interface ProviderLease { readonly provider: string | undefined; switchTo(provider: string | undefined, signal?: AbortSignal): Promise; } export declare function scheduleTasks(args: { tasks: ScheduledTask[]; maxConcurrency: number; providerLimits?: Record; signal?: AbortSignal; onState?: (id: string, state: SchedulerState) => void; }): Promise>>;