# The API module discovers the storage bridge through reflection when storage is linked in.
#
# Every overload is a separate reflective entry point, and all four must survive R8. AppInspect looks
# up the Context-taking form first and falls back to the context-free one — for the repository *and*
# for the mock rule store. A missing keep rule does not crash: the lookup is wrapped in runCatching and
# degrades to an in-memory store, so the only symptom is data silently not persisting across process
# restarts on a minified build (staging/internal-test variants that ship the full library).
-keep class com.data.appinspect.storage.AppInspectStorageBridge {
    public static com.data.appinspect.api.AppInspectInspectorRepository createRepository();
    public static com.data.appinspect.api.AppInspectInspectorRepository createRepository(android.content.Context);
    public static com.data.appinspect.api.AppInspectMockRuleStore createMockRuleStore();
    public static com.data.appinspect.api.AppInspectMockRuleStore createMockRuleStore(android.content.Context);
}
