export declare const SCHEDULER_PRIORITIES: readonly ["critical", "high", "normal", "low"];
export type SchedulerPriority = (typeof SCHEDULER_PRIORITIES)[number];
export declare const CIRCUIT_STATES: readonly ["closed", "open", "half-open"];
export type CircuitState = (typeof CIRCUIT_STATES)[number];
export type SchedulerConfig = {
    maxConcurrency: number;
    circuitBreaker: {
        failureThreshold: number;
        cooldownMs: number;
        halfOpenMaxAttempts: number;
    };
    aging: {
        intervalMs: number;
        maxPromotions: number;
    };
};
export type SchedulerTask<T = unknown> = {
    id: string;
    priority: SchedulerPriority;
    enqueuedAt: number;
    promotions: number;
    execute: () => Promise<T>;
};
export type SchedulerStatus = {
    queued: Record<SchedulerPriority, number>;
    active: number;
    maxConcurrency: number;
    circuit: {
        state: CircuitState;
        failures: number;
        lastFailureAt: number | null;
        openedAt: number | null;
    };
};
