/** Returns an array of numbers from start to end (inclusive). */ export declare function interval(start: number, end: number, step?: number): number[]; /** A fixed-length tuple with the given fill. */ export type TupleOf = number extends Dimensions ? Fill[] : Dimensions extends Tuple["length"] ? Tuple : TupleOf; type IterMap = A extends [infer First, ...infer Rest] ? [Iterable, ...IterMap] : []; /** Map a function to a product of iterators. */ export declare function mapProduct(fn: (...args: Args) => R, ...args: IterMap): Generator; /** Caesar shift a slug. */ export declare function caesar(slug: string, n: number): string; /** Returns an iterator over [index, item] pairs. */ export declare function enumerate(iter: Iterable): Generator<[number, T]>; /** Returns an iterator over windows of the given size. */ export declare function windows(iter: Iterable, size: 2): Generator<[T, T]>; export declare function windows(iter: Iterable, size: 3): Generator<[T, T, T]>; export declare function windows(iter: Iterable, size: number): Generator; /** * If the given array is a non-constant arithmetic sequence, returns the start, * step, and last. Else, returns null. */ export declare function getArithmeticSequenceInfo(terms: number[]): { start: number; step: number; last: number; } | null; /** Accumulate a function over an iterable. */ export declare function accumulate(iter: Iterable, initial: R, fn: (acc: R, item: T) => R): R[]; export {}; //# sourceMappingURL=util.d.ts.map