/** * CronBuilder * Create a cron expression using a immutable fluent builder. */ import type { CronObject, CronTuple, SpecialAlias } from './types'; /** Immutable fluent builder for cron expressions. */ export declare class CronBuilder { private static parser; private readonly state; private readonly field?; /** * Create a builder instance from a optional cron expression. * * @param expr - Optional standard 5-field cron string, a partial cron object or special alias. * @returns The current cron builder instance. * * @example * CronBuilder.create() * CronBuilder.create( '0 2 0 JAN MON-FRI' ) * CronBuilder.create( { minute: '30', hour: '1' } ) * CronBuilder.create( '@daily' ) */ static create(expr?: string | SpecialAlias | Partial): CronBuilder; private constructor(); /** Get the currently selected field definition. */ private get def(); /** Ensure a cron field has been selected. */ private requireField; /** Create a new builder with updated state. */ private next; /** Resolve any input into a cron field expression string. */ private resolve; /** Validate a cron field value against its allowed range. */ private validate; /** Clamp a cron field value to its allowed range. */ private clamp; /** Build a field expression string. */ private buildExpr; /** Update the current cron field. */ private set; /** Select the minute field. */ minute(): CronBuilder; /** Select the hour field. */ hour(): CronBuilder; /** Select the day of month field. */ dayOfMonth(): CronBuilder; /** Select the month field. */ month(): CronBuilder; /** Select the day of week field. */ dayOfWeek(): CronBuilder; /** Set explicit value. */ value(value: string | number): CronBuilder; /** Set full list of values. */ list(...values: (string | number)[]): CronBuilder; /** Define a range (min -> max). */ range(from: number, to: number): CronBuilder; /** Define step expression. */ every(step: number, range?: [number, number]): CronBuilder; /** Output as structured cron object. */ toObject(): CronObject; toTuple(): CronTuple; /** Output as standard 5-field cron expression string. */ toString(): string; }