import HashMap from "../../structs/hashMap";
import { Wildcard } from "../../wildcard";
import Base from "./base";
export default abstract class Cycle extends Base {
    private nextHolder;
    position: number;
    protected generator: (cycleName: number | string) => (Cycle | Wildcard);
    protected cycleLength: number;
    protected constructor(value: number | string | Wildcard, lookup: HashMap, generator: (cycleName: number | string | Wildcard) => (Cycle | Wildcard));
    next(): Cycle;
    shift(incremental: number): Cycle;
    private nextCalculator;
    toString(): string;
    abstract validate(): boolean;
}
