import { JavaMapEntry } from '../../../java/util/JavaMapEntry';
import { NavigableSet } from '../../../java/util/NavigableSet';
import { JavaSet } from '../../../java/util/JavaSet';
import { NavigableMap } from '../../../java/util/NavigableMap';
import { AVLMapIntervall } from '../../../core/adt/map/AVLMapIntervall';
import { SortedSet } from '../../../java/util/SortedSet';
import { AVLMap } from '../../../core/adt/map/AVLMap';
import { Comparator } from '../../../java/util/Comparator';
import { AVLMapNode } from '../../../core/adt/map/AVLMapNode';
import { SortedMap } from '../../../java/util/SortedMap';
import { JavaIterator } from '../../../java/util/JavaIterator';
import { Collection } from '../../../java/util/Collection';
import { JavaObject } from '../../../java/lang/JavaObject';
import { JavaMap } from '../../../java/util/JavaMap';
import { Vector } from '../../../java/util/Vector';
export declare class AVLMapSubMap<K, V> extends JavaObject implements NavigableMap<K, V> {
    private readonly _par;
    private readonly _iv;
    private _asc;
    /**
     * Erstellt eine neue Sub-Map relativ zur übergebenen {@link AVLMap}.
     *
     * @param parent    Die {@link AVLMap} auf der diese Sup-Map operiert.
     * @param intervall Das {@link AVLMapIntervall} auf das sich diese Sub-Map bezieht.
     */
    constructor(parent: AVLMap<K, V>, intervall: AVLMapIntervall<K>, asc: boolean);
    toString(): String;
    equals(o: unknown): boolean;
    hashCode(): number;
    comparator(): Comparator<K>;
    firstKey(): K;
    lastKey(): K;
    keySet(): JavaSet<K>;
    values(): Collection<V>;
    entrySet(): JavaSet<JavaMapEntry<K, V>>;
    size(): number;
    isEmpty(): boolean;
    containsKey(key: unknown): boolean;
    containsValue(value: unknown): boolean;
    get(key: unknown): V | null;
    put(key: K, value: V): V | null;
    remove(key: unknown): V | null;
    putAll(map: JavaMap<K, V>): void;
    clear(): void;
    lowerEntry(key: K): JavaMapEntry<K, V> | null;
    lowerKey(key: K): K | null;
    floorEntry(key: K): JavaMapEntry<K, V> | null;
    floorKey(key: K): K | null;
    ceilingEntry(key: K): JavaMapEntry<K, V> | null;
    ceilingKey(key: K): K | null;
    higherEntry(key: K): JavaMapEntry<K, V> | null;
    higherKey(key: K): K | null;
    firstEntry(): JavaMapEntry<K, V> | null;
    lastEntry(): JavaMapEntry<K, V> | null;
    pollFirstEntry(): JavaMapEntry<K, V> | null;
    pollLastEntry(): JavaMapEntry<K, V> | null;
    descendingMap(): NavigableMap<K, V>;
    navigableKeySet(): NavigableSet<K>;
    descendingKeySet(): NavigableSet<K>;
    subMap(fromKey: K, fromInclusive: boolean, toKey: K, toInclusive: boolean): NavigableMap<K, V>;
    subMap(fromKey: K, toKey: K): SortedMap<K, V>;
    headMap(toKey: K, inclusive: boolean): NavigableMap<K, V>;
    headMap(toKey: K): SortedMap<K, V>;
    tailMap(fromKey: K, inclusive: boolean): NavigableMap<K, V>;
    tailMap(fromKey: K): SortedMap<K, V>;
    bcAddKey(e: K): boolean;
    bcAddAllEntries(c: Collection<JavaMapEntry<K, V>>): boolean;
    bcAddEntryReturnBool(e: JavaMapEntry<K, V>): boolean;
    bcContainsAllKeys(c: Collection<unknown>): boolean;
    bcContainsAllEntries(c: Collection<unknown>): boolean;
    bcContainsEntry(o: unknown): boolean;
    bcRemoveKeyReturnBool(o: unknown): boolean;
    bcRemoveEntry(o: unknown): boolean;
    bcRemoveAllKeys(c: Collection<unknown>): boolean;
    bcRemoveAllEntries(c: Collection<unknown>): boolean;
    bcRetainAllKeys(c: Collection<unknown>): boolean;
    bcRetainAllEntries(c: Collection<unknown>): boolean;
    firstEntryAsNode(): AVLMapNode<K, V> | null;
    nextEntryOrNull(node: AVLMapNode<K, V>): AVLMapNode<K, V> | null;
    bcAddAllKeys(c: Collection<K>): boolean;
    bcGetLowerKeyOrNull(e: K): K | null;
    bcGetFloorKeyOrNull(e: K): K | null;
    bcGetCeilingKeyOrNull(e: K): K | null;
    bcGetHigherKeyOrNull(e: K): K | null;
    bcPollFirstKeyOrNull(): K | null;
    bcPollLastKeyOrNull(): K | null;
    bcGetArrayListOfKeys(): Vector<K | null>;
    bcGetArrayListOfValues(): Vector<V | null>;
    bcGetArrayListOfEntries(): Vector<JavaMapEntry<K | null, V | null> | null>;
    bcGetSubKeySetIterator(): JavaIterator<K>;
    bcGetSubKeySetDescending(): NavigableSet<K>;
    bcGetSubKeySetDescendingIterator(): JavaIterator<K>;
    bcGetSubKeySet(fromElement: K, fromInclusive: boolean, toElement: K, toInclusive: boolean): NavigableSet<K>;
    bcGetSubKeySet(fromElement: K, toElement: K): SortedSet<K>;
    bcGetSubKeyHeadSet(toElement: K, inclusive: boolean): NavigableSet<K>;
    bcGetSubKeyHeadSet(toElement: K): SortedSet<K>;
    bcGetSubKeyTailSet(fromElement: K, inclusive: boolean): NavigableSet<K>;
    bcGetSubKeyTailSet(fromElement: K): SortedSet<K>;
    bcGetSubCollectionIterator(): JavaIterator<V>;
    bcContainsAllValues(c: Collection<unknown>): boolean;
    bcGetSubEntrySetIterator(): JavaIterator<JavaMapEntry<K, V>>;
    private _createMap;
    private _createSet;
    isTranspiledInstanceOf(name: string): boolean;
}
export declare function cast_de_nrw_schule_svws_core_adt_map_AVLMapSubMap<K, V>(obj: unknown): AVLMapSubMap<K, V>;
