package jetbrains.mps.internal.collections.runtime;
/*Generated by MPS */
import java.util.List;
import jetbrains.mps.baseLanguage.closures.runtime.AdapterClass;
import jetbrains.mps.baseLanguage.closures.runtime._FunctionTypes;
public interface IListSequence<T> extends ICollectionSequence<T>, ISequence<T>, List<T> {
T addElement(T t);
T removeElement(T t);
T removeElementAt(int idx);
T removeLastElement();
T insertElement(int idx, T t);
T getElement(int idx);
T setElement(int idx, T t);
IListSequence<T> addSequence(ISequence<? extends T> seq);
IListSequence<T> removeSequence(ISequence<? extends T> seq);
IListSequence<T> removeWhere(@AdapterClass(value = "IWhereFilter") _FunctionTypes._return_P1_E0<? extends Boolean, ? super T> filter);
IListSequence<T> reversedList();
IListSequence<T> subListSequence(int fromIdx, int upToIdx);
IListSequence<T> headListSequence(int upToIdx);
IListSequence<T> tailListSequence(int fromIdx);
List<T> toList();
T[] toGenericArray();
T[] toGenericArray(Class<T> runtimeClass);
IListSequence<T> asUnmodifiable();
IListSequence<T> asSynchronized();
}