import { NavigableSet } from '../../../java/util/NavigableSet';
import { JavaIterator } from '../../../java/util/JavaIterator';
import { Collection } from '../../../java/util/Collection';
import { JavaObject } from '../../../java/lang/JavaObject';
import { SortedSet } from '../../../java/util/SortedSet';
import { Comparator } from '../../../java/util/Comparator';
export declare class AVLSet<E> extends JavaObject implements NavigableSet<E> {
    private readonly _set;
    /**
     * Erzeugt ein leeres Set, welche bei den Schlüsselwerten die natürliche Ordnung des {@link Comparable} -
     * Interface nutzt.
     */
    constructor();
    /**
     * Erstellt eine neues Setp und nutzt dabei die angegeben Ordnung der Schlüssel.
     *
     * @param comparator Die Ordnung für die Schlüssel.
     */
    constructor(comparator: Comparator<E>);
    /**
     * Erstellt ein neues Set mit den Daten des angegebenen Sets und nutzt dabei die Ordnung dieses Sets.
     *
     * @param set Die Map mit den Daten.
     */
    constructor(set: SortedSet<E>);
    comparator(): Comparator<Partial<E>>;
    first(): E;
    last(): E;
    size(): number;
    isEmpty(): boolean;
    contains(o: unknown): boolean;
    toArray(): Array<unknown>;
    toArray<T>(a: Array<T>): Array<T>;
    add(e: E): boolean;
    remove(o: unknown): boolean;
    containsAll(c: Collection<unknown>): boolean;
    addAll(c: Collection<E>): boolean;
    retainAll(c: Collection<unknown>): boolean;
    removeAll(c: Collection<unknown>): boolean;
    clear(): void;
    lower(e: E): E | null;
    floor(e: E): E | null;
    ceiling(e: E): E | null;
    higher(e: E): E | null;
    pollFirst(): E | null;
    pollLast(): E | null;
    iterator(): JavaIterator<E>;
    descendingSet(): NavigableSet<E>;
    descendingIterator(): JavaIterator<E>;
    subSet(fromElement: E, fromInclusive: boolean, toElement: E, toInclusive: boolean): NavigableSet<E>;
    subSet(fromElement: E, toElement: E): SortedSet<E>;
    headSet(toElement: E, inclusive: boolean): NavigableSet<E>;
    headSet(toElement: E): SortedSet<E>;
    tailSet(fromElement: E, inclusive: boolean): NavigableSet<E>;
    tailSet(fromElement: E): SortedSet<E>;
    isTranspiledInstanceOf(name: string): boolean;
    [Symbol.iterator](): Iterator<E>;
}
export declare function cast_de_nrw_schule_svws_core_adt_set_AVLSet<E>(obj: unknown): AVLSet<E>;
