# SmartLinks SDK Consumer ProGuard Rules
# These rules will be applied when the SDK is included in consumer apps

# Keep all public API classes and methods
-keep public class com.alkashier.smartlinks.SmartLinks {
    public *;
}

-keep public interface com.alkashier.smartlinks.interfaces.SmartLinksInterface {
    public *;
}

-keep public class com.alkashier.smartlinks.models.DeepLinkRoute {
    public *;
}

# Keep data classes used in public API
-keep public class com.alkashier.smartlinks.models.DeviceInfo {
    public *;
}

# Keep enum values
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

# Keep OkHttp (if not already handled by consumer app)
-dontwarn okhttp3.**
-dontwarn okio.**
-keep class okhttp3.** { *; }
-keep interface okhttp3.** { *; }

# Keep InstallReferrer
-keep class com.android.installreferrer.** { *; }

# Keep Android networking classes
-keep class android.net.** { *; }
-keep class android.os.** { *; }

# Preserve line numbers for debugging
-keepattributes SourceFile,LineNumberTable

# Keep SDK constants
-keep public class com.alkashier.smartlinks.network.SdkConstants {
    public *;
}