# Keep only the stable consumer-facing IAP API when a downstream Android app
# shrinks against this library.
#
# These rules are packaged with the AAR so consumer-side R8 keeps the contract
# types that app code may reference directly or receive from the runtime.
-keep,allowoptimization class com.ameno.monetization.iap.UnifiedIapClient {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.UnifiedIapClient$DefaultImpls {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.UnifiedIapConfiguration {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.ProductDefinition {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.UnifiedProductKind {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.EntitlementSyncMode {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.ProductCatalogResult {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.CatalogItem {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.PurchaseOption {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.PurchaseOptionSelector {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.PurchaseOptionStoreContext {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.PurchaseOptionStoreContext$* {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.PricingPhase {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.PricingRecurrenceMode {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.PurchaseOutcome {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.PurchaseOutcome$* {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.TransactionTicket {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.PurchaseEnvironment {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.CompletionResult {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.CompletionResult$* {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.Entitlement {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.EntitlementSnapshot {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.UnifiedIapError {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.UnifiedIapErrorCode {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.UnifiedIapException {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.UnifiedIapCatalogFiltersKt {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.AndroidPurchaseHostProvider {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.AndroidIapPlatformConfiguration {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.AndroidUnifiedIapClient {
    public protected *;
}
-keep,allowoptimization class com.ameno.monetization.iap.AndroidUnifiedIapClientKt {
    public protected *;
}

# Keep Kotlin/Java metadata used by downstream compilation and interop.
-keepattributes Signature,RuntimeVisibleAnnotations,RuntimeInvisibleAnnotations,AnnotationDefault,InnerClasses,EnclosingMethod

-keepdirectories META-INF/services/**
