import { AnyCase, NumberRange } from '../types';
export declare const CronKeywords: readonly ["@midnight", "@hourly", "@daily", "@weekly", "@monthly", "@yearly", "@annually"];
declare const MonthValuesShort: readonly ["JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"];
declare const MonthValuesLong: readonly ["JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE", "JULY", "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER"];
export type CronMonthValuesAlt = AnyCase<typeof MonthValuesShort[number] | typeof MonthValuesLong[number]>;
export type CronWildcard = '*';
export type CronList = ',';
export type CronRange = '-';
export type CronStep = '/';
export type CronMinuteValueMin = 0;
export type CronMinuteValueMax = 59;
export type CronMinuteValue = NumberRange<CronMinuteValueMin, CronMinuteValueMax>[number];
export type CronHourValueMin = 0;
export type CronHourValueMax = 23;
export type CronHourValue = NumberRange<CronHourValueMin, CronHourValueMax>[number];
export type CronDayMonthValueMin = 1;
export type CronDayMonthValueMax = 31;
export type CronDayMonthValue = NumberRange<CronDayMonthValueMin, CronDayMonthValueMax>[number];
export type CronMonthValueMin = 1;
export type CronMonthValueMax = 12;
export type CronMonthValue = NumberRange<CronMonthValueMin, CronMonthValueMax>[number];
export type CronDayWeekValueMin = 0;
export type CronDayWeekValueMax = 6;
export type CronDayWeekValue = NumberRange<CronDayWeekValueMin, CronDayWeekValueMax>[number];
export declare const CronMinuteValues: readonly [];
export type CronKeyword = typeof CronKeywords[number];
export type CronRandomExpression = AnyCase<'R' | 'RANDOM'>;
export type CronString = string | CronKeyword;
export type CronKeywordMap = Record<CronKeyword, string>;
export declare const cronKeywordMap: CronKeywordMap;
export declare function isCronKeyword(cron: string | CronKeyword): cron is CronKeyword;
export declare function containsCronRandomExpression(cron: CronString): boolean;
export {};
