import { IIterator } from "./i-iterator";
export declare abstract class AbstractIterator<T, E = undefined> implements IIterator<T, E> {
    abstract hasNext(): boolean;
    abstract next(): T | E;
    forEachRemaining(callback: (element: T) => void): void;
    remove(): T | E;
    reset(): void;
    [Symbol.iterator](): IterableIterator<T>;
    getIterableIterator(): IterableIterator<T>;
}
