package test

public trait DeepSamLoop {

    public trait Bar {
        public final /*synthesized*/ fun foo(/*0*/ p0: ((test.DeepSamLoop.Bar!) -> kotlin.Unit)!): kotlin.Unit
        public abstract fun foo(/*0*/ p0: test.DeepSamLoop.Foo!): kotlin.Unit
    }

    public trait Foo {
        public final /*synthesized*/ fun foo(/*0*/ p0: ((test.DeepSamLoop.Foo!) -> kotlin.Unit)!): kotlin.Unit
        public abstract fun foo(/*0*/ p0: test.DeepSamLoop.Bar!): kotlin.Unit
    }

    // Static members
    public final /*synthesized*/ fun Bar(/*0*/ function: (test.DeepSamLoop.Foo!) -> kotlin.Unit): test.DeepSamLoop.Bar
    public final /*synthesized*/ fun Foo(/*0*/ function: (test.DeepSamLoop.Bar!) -> kotlin.Unit): test.DeepSamLoop.Foo
}
