/**
 * Forecast Scheduler — per-event scheduling with EU lookahead + T-1h refresh.
 *
 * Long-lived PM2 process that polls every 5 minutes and:
 * - EU leagues: generates forecasts across the configured lookahead window,
 *   retries any still-missing forecasts in the nearer generate window, refreshes T-1h
 * - US leagues: generates at 7 AM ET batch, midday refresh at 2 PM ET, T-1h refresh
 * - Detects material changes (big line moves, confidence shifts) and stores banner data
 * - Logs all actions to rm_scheduler_log for idempotency
 *
 * Usage: npx tsx src/workers/forecast-scheduler.ts
 */
import 'dotenv/config';
type SchedulerAction = 'generate' | 'refresh' | null;
type RunType = 'eu_lookahead' | 'eu_t96h' | 'us_morning' | 'midday_batch' | 't_minus_1h';
interface ActionDecision {
    action: SchedulerAction;
    runType: RunType | null;
}
/**
 * Determine what action (if any) to take for an event right now.
 */
export declare function determineAction(league: string, startsAt: string, hasForecast: boolean, nowET: Date): ActionDecision;
export {};
//# sourceMappingURL=forecast-scheduler.d.ts.map