package jetbrains.mps.internal.collections.runtime;
/*Generated by MPS */
import java.util.Deque;
import jetbrains.mps.baseLanguage.closures.runtime.AdapterClass;
import jetbrains.mps.baseLanguage.closures.runtime._FunctionTypes;
public interface IDequeSequence<T> extends IQueueSequence<T>, Deque<T> {
T addFirstElement(T t);
T removeLastElement();
T peekElement();
T popElement();
T pushElement(T t);
IDequeSequence<T> addSequence(ISequence<? extends T> seq);
IDequeSequence<T> removeSequence(ISequence<? extends T> seq);
IDequeSequence<T> removeWhere(@AdapterClass(value = "IWhereFilter") _FunctionTypes._return_P1_E0<? extends Boolean, ? super T> filter);
IDequeSequence<T> asUnmodifiable();
IDequeSequence<T> asSynchronized();
}