package test

public open class EnumArgumentWithCustomToString {
    public constructor EnumArgumentWithCustomToString()
    @test.EnumArgumentWithCustomToString.EnumAnno(value = E.CAKE) @test.EnumArgumentWithCustomToString.EnumArrayAnno(value = {E.CAKE, E.CAKE}) public/*package*/ open fun annotated(): kotlin.Unit

    public open enum class E : kotlin.Enum<test.EnumArgumentWithCustomToString.E!> {
        enum entry CAKE

        private constructor E()
        protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
        public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: test.EnumArgumentWithCustomToString.E!): kotlin.Int
        public final override /*1*/ /*fake_override*/ fun name(): kotlin.String
        public final override /*1*/ /*fake_override*/ fun ordinal(): kotlin.Int

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

    public final class EnumAnno : kotlin.Annotation {
        public constructor EnumAnno(/*0*/ value: test.EnumArgumentWithCustomToString.E)
        public final val value: test.EnumArgumentWithCustomToString.E
        public abstract fun value(): test.EnumArgumentWithCustomToString.E
    }

    public final class EnumArrayAnno : kotlin.Annotation {
        public constructor EnumArrayAnno(/*0*/ vararg value: test.EnumArgumentWithCustomToString.E /*kotlin.Array<out test.EnumArgumentWithCustomToString.E>*/)
        public final val value: kotlin.Array<test.EnumArgumentWithCustomToString.E>
        public abstract fun value(): kotlin.Array<test.EnumArgumentWithCustomToString.E>
    }
}
