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; }