declare module "@irysius/grid-math/helpers/Iterable" { export interface ISlidingWindowOptions { prevCapacity: number; nextCapacity: number; } export interface ISlidingWindow { next(): { value: T; done: boolean; }; [Symbol.iterator](): this; readonly prevValues: T[]; readonly currValue: T; readonly nextValues: T[]; readonly done: boolean; } export function SlidingWindow(collection: IterableIterator, options: ISlidingWindowOptions): ISlidingWindow; export function isIterator(value: any): value is IterableIterator; export type Mapper = (item?: T, collection?: IterableIterator) => U; export function map(mapper: Mapper): (collection: IterableIterator) => IterableIterator; export function flatten(): (collection: IterableIterator>) => IterableIterator; export type Filterer = (item?: T, collection?: IterableIterator) => boolean; export function filter(filterer: Filterer): (collection: IterableIterator) => IterableIterator; export function zip(collectionA: IterableIterator, collectionB: IterableIterator): IterableIterator<[A, B]>; export type IteratorPipe = (x: IterableIterator) => IterableIterator; export function flow(...pipes: IteratorPipe[]): (collection: IterableIterator) => IterableIterator; export function skip(count: number): (collection: IterableIterator) => void; export function take(count: number): (collection: IterableIterator) => T[]; export function skipTake(_skip: number, _take: number): (collection: IterableIterator) => T[]; export function fromArray(items: T[]): IterableIterator; }