type NextFunction = () => IteratorResult; export default class Iterator implements IterableIterator { // Constructor constructor(next: NextFunction); // Members done: boolean; // Well-known methods next(): IteratorResult; [Symbol.iterator](): IterableIterator; // Static methods static of(...args: T[]): Iterator; static empty(): Iterator; static is(value: any): boolean; }