import { CronConfig } from './types';
export type { CronConfig, CronField, CronFieldConfig, CronFieldMode, ParsedCron } from './types';
export { cronToHuman, formatCron, getNextRuns, isValidCron, parseCron } from './parser';
export declare class CronEditor {
    private readonly container;
    private readonly config;
    private readonly id;
    private readonly tabPanelId;
    private parsed;
    private activeField;
    private tabBarEl;
    private fieldBodyEl;
    private expressionInput;
    private previewEl;
    private nextRunsEl;
    constructor(config: CronConfig);
    /** Get the current cron expression */
    getValue(): string;
    /** Set the cron expression and update the visual editor */
    setValue(expression: string): void;
    /** Clean up DOM elements */
    destroy(): void;
    /** Build the full DOM structure */
    private render;
    /** Switch to a different field tab */
    private setActiveField;
    /** Update tab bar active states */
    private updateTabHighlights;
    /** Render the body for the currently active field */
    private updateFieldBody;
    /** Set the mode for the current field */
    private setFieldMode;
    /** Render the "every" mode editor (just informational text) */
    private renderEveryEditor;
    /** Render the "specific" mode editor with a clickable value grid */
    private renderSpecificEditor;
    /** Toggle a specific value in the current field */
    private toggleSpecificValue;
    /** Render the "range" mode editor with from/to inputs */
    private renderRangeEditor;
    /** Render the "interval" mode editor with step and start inputs */
    private renderIntervalEditor;
    /** Called whenever a field value changes - update expression, preview, etc. */
    private onFieldChanged;
    /** Update the expression text input */
    private updateExpressionInput;
    /** Update the human-readable preview text */
    private updatePreview;
    /** Update the next-runs list */
    private updateNextRuns;
    /** Update all UI elements to match current state */
    private updateAllUI;
    /** Emit the onChange callback */
    private emitChange;
}
//# sourceMappingURL=index.d.ts.map