-keep public class com.microblink.logcat.LogEvent {
    public *;
    protected *;
}

# Companion class name, for the same reason LogcatManager$Companion is kept below: the rule above
# pins LogEvent's public `Companion` field, but without this R8 renames the class the field points
# at and rewrites kotlin.Metadata to match, so a Kotlin consumer reaching LogEvent.Companion emits
# a field read that no longer exists (NoSuchFieldError at runtime, clean at compile time).
-keep public class com.microblink.logcat.LogEvent$Companion {
    public *;
    protected *;
}

-keep public class com.microblink.logcat.LogcatManager {
    public *;
    protected *;
}

-keep public class com.microblink.logcat.internal.LogStates {
    public *;
    protected *;
    public static *;
}

-keep public class com.microblink.logcat.LogcatManager$Factory {
    public *;
}

-keep public class com.microblink.logcat.LogcatManager$Companion {
    public *;
    protected *;
    public static *;
}