export type CronField = 'minute' | 'hour' | 'day' | 'month' | 'weekday';
export type CronFieldMode = 'every' | 'specific' | 'range' | 'interval';
export interface CronFieldConfig {
    mode: CronFieldMode;
    specific?: number[];
    rangeStart?: number;
    rangeEnd?: number;
    interval?: number;
    intervalStart?: number;
}
export interface ParsedCron {
    minute: CronFieldConfig;
    hour: CronFieldConfig;
    day: CronFieldConfig;
    month: CronFieldConfig;
    weekday: CronFieldConfig;
}
export interface CronEditorProps {
    /** Initial cron expression */
    value?: string;
    /** Show human-readable preview */
    showPreview?: boolean;
    /** Show next run times */
    showNextRuns?: boolean;
    /** Number of next runs to display */
    nextRunCount?: number;
    /** Additional class name */
    className?: string;
    /** Callback when expression changes */
    onChange?: (expression: string) => void;
}
declare function parseCron(expression: string): ParsedCron;
declare function formatCron(config: ParsedCron): string;
declare function isValidCron(expression: string): boolean;
declare function cronToHuman(expression: string): string;
declare function getNextRuns(expression: string, count: number): Date[];
declare function CronEditor({ value, showPreview, showNextRuns, nextRunCount, className, onChange, }: CronEditorProps): import("react/jsx-runtime").JSX.Element;
export { CronEditor, parseCron, formatCron, cronToHuman, isValidCron, getNextRuns };
//# sourceMappingURL=cron-editor.d.ts.map