package

package bar {
    internal fun f1(): foo.E
    internal fun f2(): foo.E
    internal fun f3(): foo.E.Nested
    internal fun f4(): kotlin.Int
    internal fun f5(): kotlin.Array<foo.E>
}

package foo {

    internal final enum class E : kotlin.Enum<foo.E> {
        private constructor E()
        public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: foo.E): kotlin.Int
        public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
        public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

        public enum entry ANOTHER : foo.E {
            private constructor ANOTHER()
            public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: foo.E): kotlin.Int
            public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
            public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
            public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
            public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
            public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

            public class object <class-object-for-ANOTHER> : foo.E.ANOTHER {
                private constructor <class-object-for-ANOTHER>()
                public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: foo.E): kotlin.Int
                public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
                public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
                public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
                public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
                public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
            }
        }

        public enum entry ENTRY : foo.E {
            private constructor ENTRY()
            public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: foo.E): kotlin.Int
            public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
            public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
            public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
            public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
            public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

            public class object <class-object-for-ENTRY> : foo.E.ENTRY {
                private constructor <class-object-for-ENTRY>()
                public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: foo.E): kotlin.Int
                public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
                public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
                public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
                public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int
                public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
            }
        }

        internal final class Nested {
            public constructor Nested()
            public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
            public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
            public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

            internal class object <class-object-for-Nested> {
                private constructor <class-object-for-Nested>()
                public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
                internal final fun foo(): kotlin.Int
                public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
                public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
            }
        }

        // Static members
        public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): foo.E
        public final /*synthesized*/ fun values(): kotlin.Array<foo.E>
    }
}