package

public fun f12(/*0*/ m: test.A.Marker.NestedClass.NestedClass2): kotlin.Unit

package test {
    public fun f1(/*0*/ e: kotlin.RequiresOptIn): kotlin.Unit
    public fun f10(/*0*/ m: test.A.Marker.NestedClass): kotlin.Unit
    public fun f11(/*0*/ m: test.A.Marker.NestedClass.NestedClass2): kotlin.Unit
    public fun f2(/*0*/ u: kotlin.OptIn?): kotlin.Unit
    public fun f3(/*0*/ e: test.Experimental0 /* = kotlin.RequiresOptIn */): kotlin.Unit
    public fun f4(/*0*/ u: test.OptIn0 /* = kotlin.OptIn */): kotlin.Unit
    @test.VarargKClasses(k = {kotlin.RequiresOptIn::class, kotlin.OptIn::class, kotlin.RequiresOptIn::class, kotlin.OptIn::class}) public fun f5(): kotlin.Unit
    public fun f6(/*0*/ m: test.A.Marker): kotlin.Unit
    public fun f7(): kotlin.collections.List<test.A.Marker>?
    public fun f8(): test.A.Marker?
    public fun f9(/*0*/ m: test.Marker0 /* = test.A.Marker */): kotlin.Unit

    public object A {
        private constructor A()
        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

        @kotlin.RequiresOptIn public final annotation class Marker : kotlin.Annotation {
            public constructor Marker()
            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

            public companion object Companion {
                private constructor Companion()
                public const final val value: kotlin.Int = 42
                public final fun bar(): kotlin.Unit
                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
            }

            public final class NestedClass {
                public constructor NestedClass()
                public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
                public final fun f12(/*0*/ m: test.A.Marker.NestedClass.NestedClass2): kotlin.Unit
                public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
                public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

                public final class NestedClass2 {
                    public constructor NestedClass2()
                    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
                }
            }
        }
    }

    @kotlin.RequiresOptIn(level = Level.ERROR) @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) public final annotation class M : kotlin.Annotation {
        public constructor M()
        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
    }

    public final annotation class VarargKClasses : kotlin.Annotation {
        public constructor VarargKClasses(/*0*/ vararg k: kotlin.reflect.KClass<*> /*kotlin.Array<out kotlin.reflect.KClass<*>>*/)
        public final val k: kotlin.Array<out kotlin.reflect.KClass<*>>
        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
    }
    public typealias Experimental0 = kotlin.RequiresOptIn
    public typealias Marker0 = test.A.Marker
    public typealias Marker1 = test.Marker0
    public typealias OptIn0 = kotlin.OptIn
}

