# SignalR creates its wire DTOs through reflection.
-keep class com.seven.ikar.kotlin.core.realtime.** { *; }

# Firebase and WorkManager instantiate these Android components by class name.
-keep class com.seven.ikar.kotlin.core.push.IkarFirebaseMessagingService { *; }
-keep class com.seven.ikar.kotlin.feature.transfer.**Worker { public <init>(...); }

# Keep Kotlin serialization-generated serializers and their companions.
-keepclassmembers class com.seven.ikar.kotlin.core.model.** {
    *** Companion;
}
-keepclasseswithmembers,includedescriptorclasses class * {
    kotlinx.serialization.KSerializer serializer(...);
}

# SLF4J uses this optional binding only when an implementation is packaged.
-dontwarn org.slf4j.impl.StaticLoggerBinder
