package org.multiverse.api.collections;
import org.multiverse.api.Txn;
import java.util.Deque;
public interface TxnDeque<E> extends TxnQueue<E>, Deque<E> {
boolean offerFirst(Txn txn, E e);
E pollLast(Txn txn);
E pollFirst(Txn txn);
E peekFirst(Txn txn);
void putFirst(E item);
void putFirst(Txn txn, E item);
E takeFirst();
E takeFirst(Txn txn);
boolean offerLast(Txn txn, E e);
E peekLast(Txn txn);
void putLast(E item);
void putLast(Txn txn, E item);
E takeLast();
E takeLast(Txn txn);
void addFirst(Txn txn, E e);
void addLast(Txn txn, E e);
E removeFirst(Txn txn);
E removeLast(Txn txn);
E getFirst(Txn txn);
E getLast(Txn txn);
boolean removeFirstOccurrence(Txn txn, Object o);
boolean removeLastOccurrence(Txn txn, Object o);
void push(Txn txn, E e);
E pop(Txn txn);
TxnIterator<E> descendingIterator(Txn txn);
}