package-fragment kotlin.ranges

public open class CharProgression : kotlin.collections.Iterable<kotlin.Char> {
    /*primary*/ internal constructor CharProgression(/*0*/ start: kotlin.Char, /*1*/ endInclusive: kotlin.Char, /*2*/ step: kotlin.Int)
    public final val first: kotlin.Char
        public final fun `<get-first>`(): kotlin.Char
    public final val last: kotlin.Char
        public final fun `<get-last>`(): kotlin.Char
    public final val step: kotlin.Int
        public final fun `<get-step>`(): kotlin.Int
    public open fun isEmpty(): kotlin.Boolean
    public open override /*1*/ fun iterator(): kotlin.collections.CharIterator

    public companion object Companion {
        /*primary*/ private constructor Companion()
        public final fun fromClosedRange(/*0*/ rangeStart: kotlin.Char, /*1*/ rangeEnd: kotlin.Char, /*2*/ step: kotlin.Int): kotlin.ranges.CharProgression
    }
}

internal final class CharProgressionIterator : kotlin.collections.CharIterator {
    /*primary*/ public constructor CharProgressionIterator(/*0*/ first: kotlin.Char, /*1*/ last: kotlin.Char, /*2*/ step: kotlin.Int)
    private final val finalElement: kotlin.Int
        private final fun `<get-finalElement>`(): kotlin.Int
    private final var hasNext: kotlin.Boolean
        private final fun `<get-hasNext>`(): kotlin.Boolean
        private final fun `<set-hasNext>`(/*0*/ `<set-?>`: kotlin.Boolean): kotlin.Unit
    private final var next: kotlin.Int
        private final fun `<get-next>`(): kotlin.Int
        private final fun `<set-next>`(/*0*/ `<set-?>`: kotlin.Int): kotlin.Unit
    public final val step: kotlin.Int
        public final fun `<get-step>`(): kotlin.Int
    public open override /*1*/ fun hasNext(): kotlin.Boolean
    public final override /*1*/ /*fake_override*/ fun next(): kotlin.Char
    public open override /*1*/ fun nextChar(): kotlin.Char
}

public final class CharRange : kotlin.ranges.CharProgression, kotlin.ranges.ClosedRange<kotlin.Char> {
    /*primary*/ public constructor CharRange(/*0*/ start: kotlin.Char, /*1*/ endInclusive: kotlin.Char)
    public open override /*1*/ val endInclusive: kotlin.Char
        public open override /*1*/ fun `<get-endInclusive>`(): kotlin.Char
    public final override /*1*/ /*fake_override*/ val first: kotlin.Char
        public final override /*1*/ /*fake_override*/ fun `<get-first>`(): kotlin.Char
    public final override /*1*/ /*fake_override*/ val last: kotlin.Char
        public final override /*1*/ /*fake_override*/ fun `<get-last>`(): kotlin.Char
    public open override /*1*/ val start: kotlin.Char
        public open override /*1*/ fun `<get-start>`(): kotlin.Char
    public final override /*1*/ /*fake_override*/ val step: kotlin.Int
        public final override /*1*/ /*fake_override*/ fun `<get-step>`(): kotlin.Int
    public open override /*1*/ fun contains(/*0*/ value: kotlin.Char): kotlin.Boolean
    public open override /*2*/ fun isEmpty(): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.CharIterator

    public companion object Companion {
        /*primary*/ private constructor Companion()
        public final val EMPTY: kotlin.ranges.CharRange
            public final fun `<get-EMPTY>`(): kotlin.ranges.CharRange
    }
}

public interface ClosedRange</*0*/ T : kotlin.Comparable<T>> {
    public abstract val endInclusive: T
        public abstract fun `<get-endInclusive>`(): T
    public abstract val start: T
        public abstract fun `<get-start>`(): T
    public open operator fun contains(/*0*/ value: T): kotlin.Boolean
    public open fun isEmpty(): kotlin.Boolean
}

public open class IntProgression : kotlin.collections.Iterable<kotlin.Int> {
    /*primary*/ internal constructor IntProgression(/*0*/ start: kotlin.Int, /*1*/ endInclusive: kotlin.Int, /*2*/ step: kotlin.Int)
    public final val first: kotlin.Int
        public final fun `<get-first>`(): kotlin.Int
    public final val last: kotlin.Int
        public final fun `<get-last>`(): kotlin.Int
    public final val step: kotlin.Int
        public final fun `<get-step>`(): kotlin.Int
    public open fun isEmpty(): kotlin.Boolean
    public open override /*1*/ fun iterator(): kotlin.collections.IntIterator

    public companion object Companion {
        /*primary*/ private constructor Companion()
        public final fun fromClosedRange(/*0*/ rangeStart: kotlin.Int, /*1*/ rangeEnd: kotlin.Int, /*2*/ step: kotlin.Int): kotlin.ranges.IntProgression
    }
}

internal final class IntProgressionIterator : kotlin.collections.IntIterator {
    /*primary*/ public constructor IntProgressionIterator(/*0*/ first: kotlin.Int, /*1*/ last: kotlin.Int, /*2*/ step: kotlin.Int)
    private final val finalElement: kotlin.Int
        private final fun `<get-finalElement>`(): kotlin.Int
    private final var hasNext: kotlin.Boolean
        private final fun `<get-hasNext>`(): kotlin.Boolean
        private final fun `<set-hasNext>`(/*0*/ `<set-?>`: kotlin.Boolean): kotlin.Unit
    private final var next: kotlin.Int
        private final fun `<get-next>`(): kotlin.Int
        private final fun `<set-next>`(/*0*/ `<set-?>`: kotlin.Int): kotlin.Unit
    public final val step: kotlin.Int
        public final fun `<get-step>`(): kotlin.Int
    public open override /*1*/ fun hasNext(): kotlin.Boolean
    public final override /*1*/ /*fake_override*/ fun next(): kotlin.Int
    public open override /*1*/ fun nextInt(): kotlin.Int
}

public final class IntRange : kotlin.ranges.IntProgression, kotlin.ranges.ClosedRange<kotlin.Int> {
    /*primary*/ public constructor IntRange(/*0*/ start: kotlin.Int, /*1*/ endInclusive: kotlin.Int)
    public open override /*1*/ val endInclusive: kotlin.Int
        public open override /*1*/ fun `<get-endInclusive>`(): kotlin.Int
    public final override /*1*/ /*fake_override*/ val first: kotlin.Int
        public final override /*1*/ /*fake_override*/ fun `<get-first>`(): kotlin.Int
    public final override /*1*/ /*fake_override*/ val last: kotlin.Int
        public final override /*1*/ /*fake_override*/ fun `<get-last>`(): kotlin.Int
    public open override /*1*/ val start: kotlin.Int
        public open override /*1*/ fun `<get-start>`(): kotlin.Int
    public final override /*1*/ /*fake_override*/ val step: kotlin.Int
        public final override /*1*/ /*fake_override*/ fun `<get-step>`(): kotlin.Int
    public open override /*1*/ fun contains(/*0*/ value: kotlin.Int): kotlin.Boolean
    public open override /*2*/ fun isEmpty(): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.IntIterator

    public companion object Companion {
        /*primary*/ private constructor Companion()
        public final val EMPTY: kotlin.ranges.IntRange
            public final fun `<get-EMPTY>`(): kotlin.ranges.IntRange
    }
}

public open class LongProgression : kotlin.collections.Iterable<kotlin.Long> {
    /*primary*/ internal constructor LongProgression(/*0*/ start: kotlin.Long, /*1*/ endInclusive: kotlin.Long, /*2*/ step: kotlin.Long)
    public final val first: kotlin.Long
        public final fun `<get-first>`(): kotlin.Long
    public final val last: kotlin.Long
        public final fun `<get-last>`(): kotlin.Long
    public final val step: kotlin.Long
        public final fun `<get-step>`(): kotlin.Long
    public open fun isEmpty(): kotlin.Boolean
    public open override /*1*/ fun iterator(): kotlin.collections.LongIterator

    public companion object Companion {
        /*primary*/ private constructor Companion()
        public final fun fromClosedRange(/*0*/ rangeStart: kotlin.Long, /*1*/ rangeEnd: kotlin.Long, /*2*/ step: kotlin.Long): kotlin.ranges.LongProgression
    }
}

internal final class LongProgressionIterator : kotlin.collections.LongIterator {
    /*primary*/ public constructor LongProgressionIterator(/*0*/ first: kotlin.Long, /*1*/ last: kotlin.Long, /*2*/ step: kotlin.Long)
    private final val finalElement: kotlin.Long
        private final fun `<get-finalElement>`(): kotlin.Long
    private final var hasNext: kotlin.Boolean
        private final fun `<get-hasNext>`(): kotlin.Boolean
        private final fun `<set-hasNext>`(/*0*/ `<set-?>`: kotlin.Boolean): kotlin.Unit
    private final var next: kotlin.Long
        private final fun `<get-next>`(): kotlin.Long
        private final fun `<set-next>`(/*0*/ `<set-?>`: kotlin.Long): kotlin.Unit
    public final val step: kotlin.Long
        public final fun `<get-step>`(): kotlin.Long
    public open override /*1*/ fun hasNext(): kotlin.Boolean
    public final override /*1*/ /*fake_override*/ fun next(): kotlin.Long
    public open override /*1*/ fun nextLong(): kotlin.Long
}

public final class LongRange : kotlin.ranges.LongProgression, kotlin.ranges.ClosedRange<kotlin.Long> {
    /*primary*/ public constructor LongRange(/*0*/ start: kotlin.Long, /*1*/ endInclusive: kotlin.Long)
    public open override /*1*/ val endInclusive: kotlin.Long
        public open override /*1*/ fun `<get-endInclusive>`(): kotlin.Long
    public final override /*1*/ /*fake_override*/ val first: kotlin.Long
        public final override /*1*/ /*fake_override*/ fun `<get-first>`(): kotlin.Long
    public final override /*1*/ /*fake_override*/ val last: kotlin.Long
        public final override /*1*/ /*fake_override*/ fun `<get-last>`(): kotlin.Long
    public open override /*1*/ val start: kotlin.Long
        public open override /*1*/ fun `<get-start>`(): kotlin.Long
    public final override /*1*/ /*fake_override*/ val step: kotlin.Long
        public final override /*1*/ /*fake_override*/ fun `<get-step>`(): kotlin.Long
    public open override /*1*/ fun contains(/*0*/ value: kotlin.Long): kotlin.Boolean
    public open override /*2*/ fun isEmpty(): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.collections.LongIterator

    public companion object Companion {
        /*primary*/ private constructor Companion()
        public final val EMPTY: kotlin.ranges.LongRange
            public final fun `<get-EMPTY>`(): kotlin.ranges.LongRange
    }
}
