package java.util;
import org.checkerframework.checker.lock.qual.*;
// Subclasses of this interface/class may opt to prohibit null elements
public interface NavigableMap<K extends Object, V extends Object> extends SortedMap<K, V> {
public abstract Map. Entry<K, V> lowerEntry(K a1);
public abstract K lowerKey(K a1);
public abstract Map. Entry<K, V> floorEntry(K a1);
public abstract K floorKey(K a1);
public abstract Map. Entry<K, V> ceilingEntry(K a1);
public abstract K ceilingKey(K a1);
public abstract Map. Entry<K, V> higherEntry(K a1);
public abstract K higherKey(K a1);
public abstract Map. Entry<K, V> firstEntry();
public abstract Map. Entry<K, V> lastEntry();
public abstract Map. Entry<K, V> pollFirstEntry();
public abstract Map. Entry<K, V> pollLastEntry();
public abstract NavigableMap<K, V> descendingMap();
public abstract NavigableSet<K> navigableKeySet();
public abstract NavigableSet<K> descendingKeySet();
public abstract NavigableMap<K, V> subMap(K a1, boolean a2, K a3, boolean a4);
public abstract NavigableMap<K, V> headMap(K a1, boolean a2);
public abstract NavigableMap<K, V> tailMap(K a1, boolean a2);
public abstract SortedMap<K, V> subMap(K a1, K a2);
public abstract SortedMap<K, V> headMap(K a1);
public abstract SortedMap<K, V> tailMap(K a1);
public abstract boolean isEmpty(@GuardSatisfied NavigableMap<K,V> this);
}