import { JavaObject } from '../../../java/lang/JavaObject';
import { MinHeap } from '../../../core/adt/tree/MinHeap';
import { JavaIterator } from '../../../java/util/JavaIterator';
export declare class MinHeapIterator<T> extends JavaObject implements JavaIterator<T> {
    private readonly _elements;
    private _current;
    private readonly _heap;
    private readonly _expModCount;
    /**
     * Erstellt einen neuen Iterator für die Klasse MinHeap
     *
     * @param elem   die Elemente des Minimum Heaps
     * @param heap   eine Referenz zum Minimum Heap, um auf parallel erfolgende modifizierende Zugriffe reagierenzu können.
     */
    constructor(elem: Array<T | null>, heap: MinHeap<T>);
    hasNext(): boolean;
    next(): T;
    remove(): void;
    isTranspiledInstanceOf(name: string): boolean;
}
export declare function cast_de_nrw_schule_svws_core_adt_tree_MinHeapIterator<T>(obj: unknown): MinHeapIterator<T>;
