import { FieldPattern, FieldWrapper, type CronSegment, type SegmentFromString } from './types';
declare class NoSpecificSegment implements CronSegment {
    field: FieldWrapper;
    type: FieldPattern;
    constructor(field: FieldWrapper);
    toCron(): string;
    toArray(): never[];
    get items(): {};
    static fromString(str: string, field: FieldWrapper): NoSpecificSegment | null;
}
declare class AnySegment implements CronSegment {
    field: FieldWrapper;
    type: FieldPattern;
    constructor(field: FieldWrapper);
    toCron(): string;
    toArray(): never[];
    get items(): {};
    static fromString(str: string, field: FieldWrapper): AnySegment | null;
    static fromArray(arr: number[], field: FieldWrapper): AnySegment | null;
}
declare class RangeSegment implements CronSegment {
    static re: RegExp;
    field: FieldWrapper;
    type: FieldPattern;
    start: number;
    end: number;
    constructor(field: FieldWrapper, start: number, end: number);
    toCron(): string;
    toArray(): number[];
    get items(): {
        start: import("./types").FieldItem;
        end: import("./types").FieldItem;
    };
    static fromString(str: string, field: FieldWrapper): RangeSegment | null;
}
declare class StepSegment implements CronSegment {
    static re: RegExp;
    field: FieldWrapper;
    step: number;
    start: number;
    end: number;
    constructor(field: FieldWrapper, step: number, start?: number, end?: number);
    get type(): FieldPattern.Step | FieldPattern.StepFrom | FieldPattern.RangeStep;
    toCron(): string;
    toArray(): number[];
    get items(): {
        step: import("./types").FieldItem;
        start: import("./types").FieldItem;
        end: import("./types").FieldItem;
    };
    static fromString(str: string, field: FieldWrapper): StepSegment | null;
    static fromArray(arr: number[], field: FieldWrapper): StepSegment | null;
}
declare class ValueSegment implements CronSegment {
    field: FieldWrapper;
    type: FieldPattern;
    value: number;
    constructor(field: FieldWrapper, value: number);
    toCron(): string;
    toArray(): number[];
    get items(): {
        value: import("./types").FieldItem;
    };
    static fromString(str: string, field: FieldWrapper): ValueSegment | null;
    static fromArray(arr: number[], field: FieldWrapper): number | null;
}
declare class CombinedSegment implements CronSegment {
    static segmentFactories: SegmentFromString[];
    field: FieldWrapper;
    segments: CronSegment[];
    constructor(field: FieldWrapper, segments?: CronSegment[]);
    get type(): FieldPattern;
    addSegment(segment: CronSegment): void;
    toCron(): string;
    toArray(): number[];
    get items(): never;
    static fromString(str: string, field: FieldWrapper): CombinedSegment | null;
    static fromArray(arr: number[], field: FieldWrapper): CombinedSegment | null;
}
declare function cronToSegment(cron: string, field: FieldWrapper): CombinedSegment | null;
declare function arrayToSegment(arr: number[], field: FieldWrapper): CombinedSegment | AnySegment | StepSegment | null;
export { AnySegment, arrayToSegment, CombinedSegment, cronToSegment, NoSpecificSegment, RangeSegment, StepSegment, ValueSegment, };
//# sourceMappingURL=cron.d.ts.map