package com.google.firebase.database.collection;

import java.util.Comparator;

/* JADX INFO: loaded from: classes3.dex */
public interface LLRBNode<K, V> {

    public enum Color {
        RED,
        BLACK
    }

    public static abstract class NodeVisitor<K, V> implements ShortCircuitingNodeVisitor<K, V> {
        @Override // com.google.firebase.database.collection.LLRBNode.ShortCircuitingNodeVisitor
        public boolean shouldContinue(K k6, V v3) {
            visitEntry(k6, v3);
            return true;
        }

        public abstract void visitEntry(K k6, V v3);
    }

    public interface ShortCircuitingNodeVisitor<K, V> {
        boolean shouldContinue(K k6, V v3);
    }

    LLRBNode<K, V> copy(K k6, V v3, Color color, LLRBNode<K, V> lLRBNode, LLRBNode<K, V> lLRBNode2);

    K getKey();

    LLRBNode<K, V> getLeft();

    LLRBNode<K, V> getMax();

    LLRBNode<K, V> getMin();

    LLRBNode<K, V> getRight();

    V getValue();

    void inOrderTraversal(NodeVisitor<K, V> nodeVisitor);

    LLRBNode<K, V> insert(K k6, V v3, Comparator<K> comparator);

    boolean isEmpty();

    boolean isRed();

    LLRBNode<K, V> remove(K k6, Comparator<K> comparator);

    boolean shortCircuitingInOrderTraversal(ShortCircuitingNodeVisitor<K, V> shortCircuitingNodeVisitor);

    boolean shortCircuitingReverseOrderTraversal(ShortCircuitingNodeVisitor<K, V> shortCircuitingNodeVisitor);

    int size();
}
