package test

public interface LoadIterableWithPropagation {

    public interface LoadIterable</*0*/ T> {
        @org.jetbrains.annotations.Mutable public abstract fun getIterable(): kotlin.collections.MutableIterable<T>?
        @org.jetbrains.annotations.ReadOnly public abstract fun getReadOnlyIterable(): kotlin.collections.Iterable<T>?
        public abstract fun setIterable(/*0*/ @org.jetbrains.annotations.Mutable p0: kotlin.collections.MutableIterable<T>?): kotlin.Unit
        public abstract fun setReadOnlyIterable(/*0*/ @org.jetbrains.annotations.ReadOnly p0: kotlin.collections.Iterable<T>?): kotlin.Unit
    }

    public open class LoadIterableImpl</*0*/ T> : test.LoadIterableWithPropagation.LoadIterable<T> {
        /*primary*/ public constructor LoadIterableImpl</*0*/ T>()
        public open override /*1*/ fun getIterable(): kotlin.collections.MutableIterable<T>?
        public open override /*1*/ fun getReadOnlyIterable(): kotlin.collections.Iterable<T>?
        public open override /*1*/ fun setIterable(/*0*/ p0: kotlin.collections.MutableIterable<T>?): kotlin.Unit
        public open override /*1*/ fun setReadOnlyIterable(/*0*/ p0: kotlin.collections.Iterable<T>?): kotlin.Unit
    }
}
