import { CronFields, CronPreset } from "./CronInput.types";
export declare const MONTH_NAMES: readonly ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
export declare const MONTH_SHORT_NAMES: readonly ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
export declare const DAY_NAMES: readonly ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
export declare const DAY_SHORT_NAMES: readonly ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
/**
 * Preset cron schedules for common use cases
 */
export declare const CRON_PRESETS: CronPreset[];
export interface FieldOption {
    value: string;
    label: string;
}
/**
 * Generate minute options: every minute (*), specific minutes, and intervals
 */
export declare function getMinuteOptions(): FieldOption[];
/**
 * Generate hour options: every hour (*), specific hours, and intervals
 */
export declare function getHourOptions(): FieldOption[];
/**
 * Generate day-of-month options: every day (*), specific days
 */
export declare function getDayOfMonthOptions(): FieldOption[];
/**
 * Generate month options: every month (*), specific months
 */
export declare function getMonthOptions(): FieldOption[];
/**
 * Generate day-of-week options: every day (*), specific days, ranges
 */
export declare function getDayOfWeekOptions(): FieldOption[];
/**
 * Parse a cron expression string into individual fields
 */
export declare function parseCron(expr: string): CronFields;
/**
 * Convert CronFields back to a cron expression string
 */
export declare function fieldsToCron(fields: CronFields): string;
/**
 * Validate a complete cron expression
 */
export declare function validateCron(expr: string): boolean;
/**
 * Convert a cron expression to a human-readable description
 */
export declare function cronToDescription(expr: string): string;
/**
 * Calculate the next N run times for a cron expression.
 * Uses a brute-force minute-by-minute scan (simple approach for common cases).
 *
 * @param expr - Cron expression string
 * @param count - Number of next runs to find (default: 3)
 * @param from - Starting date (default: now)
 * @returns Array of Date objects for the next runs
 */
export declare function getNextRuns(expr: string, count?: number, from?: Date): Date[];
/**
 * Format a Date as a human-readable next run string
 */
export declare function formatNextRun(date: Date): string;
/**
 * Check if a field value represents a specific number (not a pattern)
 */
export declare function isSpecificValue(value: string): boolean;
