package

public fun main(/*0*/ a: Defaults, /*1*/ x: Foo): kotlin.Unit

@org.jspecify.nullness.NullMarked public open class Defaults {
    public constructor Defaults()
    public final var defaultField: Foo
    @org.jspecify.nullness.Nullable public final var field: @org.jspecify.nullness.Nullable Foo?
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open fun everythingNotNullable(/*0*/ x: Foo): Foo
    @org.jspecify.nullness.Nullable public open fun everythingNullable(/*0*/ @org.jspecify.nullness.Nullable x: @org.jspecify.nullness.Nullable Foo?): @org.jspecify.nullness.Nullable Foo?
    @org.jspecify.nullness.NullnessUnspecified public open fun everythingUnknown(/*0*/ @org.jspecify.nullness.NullnessUnspecified x: @org.jspecify.nullness.NullnessUnspecified Foo!): @org.jspecify.nullness.NullnessUnspecified Foo!
    public open fun explicitlyNullnessUnspecified(/*0*/ @org.jspecify.nullness.NullnessUnspecified x: @org.jspecify.nullness.NullnessUnspecified Foo!): Foo
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    @org.jspecify.nullness.Nullable public open fun mixed(/*0*/ x: Foo): @org.jspecify.nullness.Nullable Foo?
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

public open class Foo {
    public constructor Foo()
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open fun foo(): kotlin.Any!
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

