/**
 * public abstract interface Foo : kotlin/Any {
 *
 *   // signature: bar()V
 *   public abstract fun bar(): kotlin/Unit
 *
 *   // signature: foo()V
 *   public open fun foo(): kotlin/Unit
 *
 *   // signature: foo2(I)V
 *   public open fun foo2(a: kotlin/Int): kotlin/Unit
 *
 *   // signature: privateDefaultMethod(Ljava/lang/String;)V
 *   private final fun privateDefaultMethod(x: kotlin/String? (* = ... *)): kotlin/Unit
 *
 *   // signature: privateMethod()V
 *   private final fun privateMethod(): kotlin/Unit
 *
 *   // module name: main
 * }
 */
@kotlin.Metadata()
public abstract interface Foo {

    public abstract void foo();

    public abstract void foo2(int a);

    public abstract void bar();

    /**
     * synthetic class
     */
    @kotlin.Metadata()
    public static final class DefaultImpls {

        public static void foo(@org.jetbrains.annotations.NotNull()
        Foo $this) {
        }

        public static void foo2(@org.jetbrains.annotations.NotNull()
        Foo $this, int a) {
        }

        private static void privateMethod(Foo $this) {
        }

        private static void privateDefaultMethod(Foo $this, java.lang.String x) {
        }
    }
}
