/**
 * Minimal 5-field cron parser and matcher.
 * Supports: *, N, N-M, N,M, *​/N, N-M/S, and L (last day of month in day-of-month field).
 */
interface CronFields {
    minute: Set<number>;
    hour: Set<number>;
    dayOfMonth: Set<number> | 'L';
    month: Set<number>;
    dayOfWeek: Set<number>;
}
export declare function parseCron(expr: string): CronFields;
export declare function cronMatchesDate(fields: CronFields, date: Date): boolean;
/**
 * Returns true if the cron expression would have fired between `lastPushedAt`
 * and now.  If `lastPushedAt` is undefined the task has never been pushed, so
 * the answer is always true.
 *
 * Scans minute-by-minute from (lastPushedAt + 1 min) to now, capped at 48 h.
 */
export declare function shouldCronFire(expr: string, lastPushedAt?: number): boolean;
export {};
//# sourceMappingURL=cron.d.ts.map