package-fragment kotlin.collections

public abstract class BooleanIterator : kotlin.collections.Iterator<kotlin.Boolean> {
    /*primary*/ public constructor BooleanIterator()
    public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.Boolean>): kotlin.Unit
    public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
    public final override /*1*/ fun next(): kotlin.Boolean
    public abstract fun nextBoolean(): kotlin.Boolean
}

public abstract class ByteIterator : kotlin.collections.Iterator<kotlin.Byte> {
    /*primary*/ public constructor ByteIterator()
    public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.Byte>): kotlin.Unit
    public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
    public final override /*1*/ fun next(): kotlin.Byte
    public abstract fun nextByte(): kotlin.Byte
}

public abstract class CharIterator : kotlin.collections.Iterator<kotlin.Char> {
    /*primary*/ public constructor CharIterator()
    public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.Char>): kotlin.Unit
    public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
    public final override /*1*/ fun next(): kotlin.Char
    public abstract fun nextChar(): kotlin.Char
}

public interface Collection</*0*/ out E> : kotlin.collections.Iterable<E> {
    public abstract val size: kotlin.Int
        public abstract fun <get-size>(): kotlin.Int
    public abstract operator fun contains(/*0*/ element: @kotlin.UnsafeVariance E): kotlin.Boolean
    public abstract fun containsAll(/*0*/ elements: kotlin.collections.Collection<@kotlin.UnsafeVariance E>): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in E!>!): kotlin.Unit
    public abstract fun isEmpty(): kotlin.Boolean
    public abstract override /*1*/ fun iterator(): kotlin.collections.Iterator<E>
    public open fun parallelStream(): java.util.stream.Stream<@kotlin.UnsafeVariance E!>!
    public open override /*1*/ fun spliterator(): java.util.Spliterator<@kotlin.UnsafeVariance E!>!
    public open fun stream(): java.util.stream.Stream<@kotlin.UnsafeVariance E!>!
}

public abstract class DoubleIterator : kotlin.collections.Iterator<kotlin.Double> {
    /*primary*/ public constructor DoubleIterator()
    public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.Double>): kotlin.Unit
    public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
    public final override /*1*/ fun next(): kotlin.Double
    public abstract fun nextDouble(): kotlin.Double
}

public abstract class FloatIterator : kotlin.collections.Iterator<kotlin.Float> {
    /*primary*/ public constructor FloatIterator()
    public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.Float>): kotlin.Unit
    public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
    public final override /*1*/ fun next(): kotlin.Float
    public abstract fun nextFloat(): kotlin.Float
}

public abstract class IntIterator : kotlin.collections.Iterator<kotlin.Int> {
    /*primary*/ public constructor IntIterator()
    public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.Int>): kotlin.Unit
    public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
    public final override /*1*/ fun next(): kotlin.Int
    public abstract fun nextInt(): kotlin.Int
}

public interface Iterable</*0*/ out T> {
    public open fun forEach(/*0*/ p0: java.util.function.Consumer<in T!>!): kotlin.Unit
    public abstract operator fun iterator(): kotlin.collections.Iterator<T>
    public open fun spliterator(): java.util.Spliterator<@kotlin.UnsafeVariance T!>!
}

public interface Iterator</*0*/ out T> {
    public open fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in T>): kotlin.Unit
    public abstract operator fun hasNext(): kotlin.Boolean
    public abstract operator fun next(): T
}

public interface List</*0*/ out E> : kotlin.collections.Collection<E> {
    public abstract override /*1*/ val size: kotlin.Int
        public abstract override /*1*/ fun <get-size>(): kotlin.Int
    public abstract override /*1*/ fun contains(/*0*/ element: @kotlin.UnsafeVariance E): kotlin.Boolean
    public abstract override /*1*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<@kotlin.UnsafeVariance E>): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in E!>!): kotlin.Unit
    public abstract operator fun get(/*0*/ index: kotlin.Int): E
    public abstract fun indexOf(/*0*/ element: @kotlin.UnsafeVariance E): kotlin.Int
    public abstract override /*1*/ fun isEmpty(): kotlin.Boolean
    public abstract override /*1*/ fun iterator(): kotlin.collections.Iterator<E>
    public abstract fun lastIndexOf(/*0*/ element: @kotlin.UnsafeVariance E): kotlin.Int
    public abstract fun listIterator(): kotlin.collections.ListIterator<E>
    public abstract fun listIterator(/*0*/ index: kotlin.Int): kotlin.collections.ListIterator<E>
    public open override /*1*/ /*fake_override*/ fun parallelStream(): java.util.stream.Stream<E!>!
    public open override /*1*/ fun spliterator(): java.util.Spliterator<@kotlin.UnsafeVariance E!>!
    public open override /*1*/ /*fake_override*/ fun stream(): java.util.stream.Stream<E!>!
    public abstract fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.collections.List<E>
}

public interface ListIterator</*0*/ out T> : kotlin.collections.Iterator<T> {
    public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in T>): kotlin.Unit
    public abstract override /*1*/ fun hasNext(): kotlin.Boolean
    public abstract fun hasPrevious(): kotlin.Boolean
    public abstract override /*1*/ fun next(): T
    public abstract fun nextIndex(): kotlin.Int
    public abstract fun previous(): T
    public abstract fun previousIndex(): kotlin.Int
}

public abstract class LongIterator : kotlin.collections.Iterator<kotlin.Long> {
    /*primary*/ public constructor LongIterator()
    public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.Long>): kotlin.Unit
    public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
    public final override /*1*/ fun next(): kotlin.Long
    public abstract fun nextLong(): kotlin.Long
}

public interface Map</*0*/ K, /*1*/ out V> {
    public abstract val entries: kotlin.collections.Set<kotlin.collections.Map.Entry<K, V>>
        public abstract fun <get-entries>(): kotlin.collections.Set<kotlin.collections.Map.Entry<K, V>>
    public abstract val keys: kotlin.collections.Set<K>
        public abstract fun <get-keys>(): kotlin.collections.Set<K>
    public abstract val size: kotlin.Int
        public abstract fun <get-size>(): kotlin.Int
    public abstract val values: kotlin.collections.Collection<V>
        public abstract fun <get-values>(): kotlin.collections.Collection<V>
    public abstract fun containsKey(/*0*/ key: K): kotlin.Boolean
    public abstract fun containsValue(/*0*/ value: @kotlin.UnsafeVariance V): kotlin.Boolean
    public open fun forEach(/*0*/ p0: java.util.function.BiConsumer<in K!, in V!>!): kotlin.Unit
    public abstract operator fun get(/*0*/ key: K): V?
    @kotlin.SinceKotlin(version = "1.1") @kotlin.internal.PlatformDependent public open fun getOrDefault(/*0*/ key: K, /*1*/ defaultValue: @kotlin.UnsafeVariance V): V
    public abstract fun isEmpty(): kotlin.Boolean

    public interface Entry</*0*/ out K, /*1*/ out V> {
        public abstract val key: K
            public abstract fun <get-key>(): K
        public abstract val value: V
            public abstract fun <get-value>(): V
    }
}

public interface MutableCollection</*0*/ E> : kotlin.collections.Collection<E>, kotlin.collections.MutableIterable<E> {
    public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
        public abstract override /*1*/ /*fake_override*/ fun <get-size>(): kotlin.Int
    public abstract fun add(/*0*/ element: E): kotlin.Boolean
    public abstract fun addAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
    public abstract fun clear(): kotlin.Unit
    public abstract override /*1*/ /*fake_override*/ fun contains(/*0*/ element: E): kotlin.Boolean
    public abstract override /*1*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
    public open override /*2*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in E!>!): kotlin.Unit
    public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
    public abstract override /*2*/ fun iterator(): kotlin.collections.MutableIterator<E>
    public open override /*1*/ /*fake_override*/ fun parallelStream(): java.util.stream.Stream<E!>!
    public abstract fun remove(/*0*/ element: E): kotlin.Boolean
    public abstract fun removeAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
    public open fun removeIf(/*0*/ p0: java.util.function.Predicate<in E!>!): kotlin.Boolean
    public abstract fun retainAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
    public open override /*2*/ /*fake_override*/ fun spliterator(): java.util.Spliterator<E!>!
    public open override /*1*/ /*fake_override*/ fun stream(): java.util.stream.Stream<E!>!
}

public interface MutableIterable</*0*/ out T> : kotlin.collections.Iterable<T> {
    public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in T!>!): kotlin.Unit
    public abstract override /*1*/ fun iterator(): kotlin.collections.MutableIterator<T>
    public open override /*1*/ /*fake_override*/ fun spliterator(): java.util.Spliterator<T!>!
}

public interface MutableIterator</*0*/ out T> : kotlin.collections.Iterator<T> {
    public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in T>): kotlin.Unit
    public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
    public abstract override /*1*/ /*fake_override*/ fun next(): T
    public abstract fun remove(): kotlin.Unit
}

public interface MutableList</*0*/ E> : kotlin.collections.List<E>, kotlin.collections.MutableCollection<E> {
    public abstract override /*2*/ /*fake_override*/ val size: kotlin.Int
        public abstract override /*2*/ /*fake_override*/ fun <get-size>(): kotlin.Int
    public abstract override /*1*/ fun add(/*0*/ element: E): kotlin.Boolean
    public abstract fun add(/*0*/ index: kotlin.Int, /*1*/ element: E): kotlin.Unit
    public abstract fun addAll(/*0*/ index: kotlin.Int, /*1*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
    public abstract override /*1*/ fun addAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
    public abstract override /*1*/ fun clear(): kotlin.Unit
    public abstract override /*2*/ /*fake_override*/ fun contains(/*0*/ element: E): kotlin.Boolean
    public abstract override /*2*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
    public open override /*2*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in E!>!): kotlin.Unit
    public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ index: kotlin.Int): E
    public abstract override /*1*/ /*fake_override*/ fun indexOf(/*0*/ element: E): kotlin.Int
    public abstract override /*2*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
    public abstract override /*2*/ /*fake_override*/ fun iterator(): kotlin.collections.MutableIterator<E>
    public abstract override /*1*/ /*fake_override*/ fun lastIndexOf(/*0*/ element: E): kotlin.Int
    public abstract override /*1*/ fun listIterator(): kotlin.collections.MutableListIterator<E>
    public abstract override /*1*/ fun listIterator(/*0*/ index: kotlin.Int): kotlin.collections.MutableListIterator<E>
    public open override /*2*/ /*fake_override*/ fun parallelStream(): java.util.stream.Stream<E!>!
    public abstract override /*1*/ fun remove(/*0*/ element: E): kotlin.Boolean
    public abstract override /*1*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
    public abstract fun removeAt(/*0*/ index: kotlin.Int): E
    public open override /*1*/ /*fake_override*/ fun removeIf(/*0*/ p0: java.util.function.Predicate<in E!>!): kotlin.Boolean
    public open fun replaceAll(/*0*/ p0: java.util.function.UnaryOperator<E!>!): kotlin.Unit
    public abstract override /*1*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
    public abstract operator fun set(/*0*/ index: kotlin.Int, /*1*/ element: E): E
    public open /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun sort(/*0*/ p0: java.util.Comparator<in E!>!): kotlin.Unit
    public open override /*2*/ /*fake_override*/ fun spliterator(): java.util.Spliterator<E!>!
    public open override /*2*/ /*fake_override*/ fun stream(): java.util.stream.Stream<E!>!
    public abstract override /*1*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.collections.MutableList<E>
}

public interface MutableListIterator</*0*/ T> : kotlin.collections.ListIterator<T>, kotlin.collections.MutableIterator<T> {
    public abstract fun add(/*0*/ element: T): kotlin.Unit
    public open override /*2*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in T>): kotlin.Unit
    public abstract override /*2*/ fun hasNext(): kotlin.Boolean
    public abstract override /*1*/ /*fake_override*/ fun hasPrevious(): kotlin.Boolean
    public abstract override /*2*/ fun next(): T
    public abstract override /*1*/ /*fake_override*/ fun nextIndex(): kotlin.Int
    public abstract override /*1*/ /*fake_override*/ fun previous(): T
    public abstract override /*1*/ /*fake_override*/ fun previousIndex(): kotlin.Int
    public abstract override /*1*/ fun remove(): kotlin.Unit
    public abstract fun set(/*0*/ element: T): kotlin.Unit
}

public interface MutableMap</*0*/ K, /*1*/ V> : kotlin.collections.Map<K, V> {
    public abstract override /*1*/ val entries: kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<K, V>>
        public abstract override /*1*/ fun <get-entries>(): kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<K, V>>
    public abstract override /*1*/ val keys: kotlin.collections.MutableSet<K>
        public abstract override /*1*/ fun <get-keys>(): kotlin.collections.MutableSet<K>
    public abstract override /*1*/ /*fake_override*/ val size: kotlin.Int
        public abstract override /*1*/ /*fake_override*/ fun <get-size>(): kotlin.Int
    public abstract override /*1*/ val values: kotlin.collections.MutableCollection<V>
        public abstract override /*1*/ fun <get-values>(): kotlin.collections.MutableCollection<V>
    public abstract fun clear(): kotlin.Unit
    public open fun compute(/*0*/ p0: K!, /*1*/ p1: java.util.function.BiFunction<in K!, in V!, out V!>!): V!
    public open fun computeIfAbsent(/*0*/ p0: K!, /*1*/ p1: java.util.function.Function<in K!, out V!>!): V!
    public open fun computeIfPresent(/*0*/ p0: K!, /*1*/ p1: java.util.function.BiFunction<in K!, in V!, out V!>!): V!
    public abstract override /*1*/ /*fake_override*/ fun containsKey(/*0*/ key: K): kotlin.Boolean
    public abstract override /*1*/ /*fake_override*/ fun containsValue(/*0*/ value: V): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.BiConsumer<in K!, in V!>!): kotlin.Unit
    public abstract override /*1*/ /*fake_override*/ fun get(/*0*/ key: K): V?
    @kotlin.SinceKotlin(version = "1.1") @kotlin.internal.PlatformDependent public open override /*1*/ /*fake_override*/ fun getOrDefault(/*0*/ key: K, /*1*/ defaultValue: V): V
    public abstract override /*1*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
    public open fun merge(/*0*/ p0: K!, /*1*/ p1: V!, /*2*/ p2: java.util.function.BiFunction<in V!, in V!, out V!>!): V!
    public abstract fun put(/*0*/ key: K, /*1*/ value: V): V?
    public abstract fun putAll(/*0*/ from: kotlin.collections.Map<out K, V>): kotlin.Unit
    public open fun putIfAbsent(/*0*/ p0: K!, /*1*/ p1: V!): V!
    public abstract fun remove(/*0*/ key: K): V?
    @kotlin.SinceKotlin(version = "1.1") @kotlin.internal.PlatformDependent public open fun remove(/*0*/ key: K, /*1*/ value: V): kotlin.Boolean
    public open fun replace(/*0*/ p0: K!, /*1*/ p1: V!): V!
    public open fun replace(/*0*/ p0: K!, /*1*/ p1: V!, /*2*/ p2: V!): kotlin.Boolean
    public open fun replaceAll(/*0*/ p0: java.util.function.BiFunction<in K!, in V!, out V!>!): kotlin.Unit

    public interface MutableEntry</*0*/ K, /*1*/ V> : kotlin.collections.Map.Entry<K, V> {
        public abstract override /*1*/ /*fake_override*/ val key: K
            public abstract override /*1*/ /*fake_override*/ fun <get-key>(): K
        public abstract override /*1*/ /*fake_override*/ val value: V
            public abstract override /*1*/ /*fake_override*/ fun <get-value>(): V
        public abstract fun setValue(/*0*/ newValue: V): V
    }
}

public interface MutableSet</*0*/ E> : kotlin.collections.Set<E>, kotlin.collections.MutableCollection<E> {
    public abstract override /*2*/ /*fake_override*/ val size: kotlin.Int
        public abstract override /*2*/ /*fake_override*/ fun <get-size>(): kotlin.Int
    public abstract override /*1*/ fun add(/*0*/ element: E): kotlin.Boolean
    public abstract override /*1*/ fun addAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
    public abstract override /*1*/ fun clear(): kotlin.Unit
    public abstract override /*2*/ /*fake_override*/ fun contains(/*0*/ element: E): kotlin.Boolean
    public abstract override /*2*/ /*fake_override*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
    public open override /*2*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in E!>!): kotlin.Unit
    public abstract override /*2*/ /*fake_override*/ fun isEmpty(): kotlin.Boolean
    public abstract override /*2*/ fun iterator(): kotlin.collections.MutableIterator<E>
    public open override /*2*/ /*fake_override*/ fun parallelStream(): java.util.stream.Stream<E!>!
    public abstract override /*1*/ fun remove(/*0*/ element: E): kotlin.Boolean
    public abstract override /*1*/ fun removeAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun removeIf(/*0*/ p0: java.util.function.Predicate<in E!>!): kotlin.Boolean
    public abstract override /*1*/ fun retainAll(/*0*/ elements: kotlin.collections.Collection<E>): kotlin.Boolean
    public open override /*2*/ /*fake_override*/ fun spliterator(): java.util.Spliterator<E!>!
    public open override /*2*/ /*fake_override*/ fun stream(): java.util.stream.Stream<E!>!
}

public interface Set</*0*/ out E> : kotlin.collections.Collection<E> {
    public abstract override /*1*/ val size: kotlin.Int
        public abstract override /*1*/ fun <get-size>(): kotlin.Int
    public abstract override /*1*/ fun contains(/*0*/ element: @kotlin.UnsafeVariance E): kotlin.Boolean
    public abstract override /*1*/ fun containsAll(/*0*/ elements: kotlin.collections.Collection<@kotlin.UnsafeVariance E>): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun forEach(/*0*/ p0: java.util.function.Consumer<in E!>!): kotlin.Unit
    public abstract override /*1*/ fun isEmpty(): kotlin.Boolean
    public abstract override /*1*/ fun iterator(): kotlin.collections.Iterator<E>
    public open override /*1*/ /*fake_override*/ fun parallelStream(): java.util.stream.Stream<E!>!
    public open override /*1*/ fun spliterator(): java.util.Spliterator<@kotlin.UnsafeVariance E!>!
    public open override /*1*/ /*fake_override*/ fun stream(): java.util.stream.Stream<E!>!
}

public abstract class ShortIterator : kotlin.collections.Iterator<kotlin.Short> {
    /*primary*/ public constructor ShortIterator()
    public open override /*1*/ /*fake_override*/ fun forEachRemaining(/*0*/ p0: java.util.function.Consumer<in kotlin.Short>): kotlin.Unit
    public abstract override /*1*/ /*fake_override*/ fun hasNext(): kotlin.Boolean
    public final override /*1*/ fun next(): kotlin.Short
    public abstract fun nextShort(): kotlin.Short
}
