// Signature format: 4.0
package androidx.enterprise.feedback {

  @com.google.auto.value.AutoValue public abstract class KeyedAppState {
    method public static androidx.enterprise.feedback.KeyedAppState.KeyedAppStateBuilder builder();
    method public abstract String? getData();
    method public abstract String getKey();
    method public static final int getMaxDataLength();
    method public static final int getMaxKeyLength();
    method public static final int getMaxMessageLength();
    method public abstract String? getMessage();
    method public abstract int getSeverity();
    field @Deprecated public static final int MAX_DATA_LENGTH = 1000; // 0x3e8
    field @Deprecated public static final int MAX_KEY_LENGTH = 100; // 0x64
    field @Deprecated public static final int MAX_MESSAGE_LENGTH = 1000; // 0x3e8
    field public static final int SEVERITY_ERROR = 2; // 0x2
    field public static final int SEVERITY_INFO = 1; // 0x1
  }

  @com.google.auto.value.AutoValue.Builder public abstract static class KeyedAppState.KeyedAppStateBuilder {
    method public androidx.enterprise.feedback.KeyedAppState build();
    method public abstract androidx.enterprise.feedback.KeyedAppState.KeyedAppStateBuilder setData(String?);
    method public abstract androidx.enterprise.feedback.KeyedAppState.KeyedAppStateBuilder setKey(String);
    method public abstract androidx.enterprise.feedback.KeyedAppState.KeyedAppStateBuilder setMessage(String?);
    method public abstract androidx.enterprise.feedback.KeyedAppState.KeyedAppStateBuilder setSeverity(int);
  }

  public interface KeyedAppStatesCallback {
    method public void onResult(int, Throwable?);
    field public static final int STATUS_EXCEEDED_BUFFER_ERROR = 3; // 0x3
    field public static final int STATUS_SUCCESS = 0; // 0x0
    field public static final int STATUS_TRANSACTION_TOO_LARGE_ERROR = 2; // 0x2
    field public static final int STATUS_UNKNOWN_ERROR = 1; // 0x1
  }

  public abstract class KeyedAppStatesReporter {
    method public static androidx.enterprise.feedback.KeyedAppStatesReporter create(android.content.Context);
    method public static androidx.enterprise.feedback.KeyedAppStatesReporter create(android.content.Context, java.util.concurrent.Executor);
    method @Deprecated public abstract void setStates(java.util.Collection<androidx.enterprise.feedback.KeyedAppState!>);
    method public void setStates(java.util.Collection<androidx.enterprise.feedback.KeyedAppState!>, androidx.enterprise.feedback.KeyedAppStatesCallback?);
    method @Deprecated public abstract void setStatesImmediate(java.util.Collection<androidx.enterprise.feedback.KeyedAppState!>);
    method public void setStatesImmediate(java.util.Collection<androidx.enterprise.feedback.KeyedAppState!>, androidx.enterprise.feedback.KeyedAppStatesCallback?);
  }

  public abstract class KeyedAppStatesService extends android.app.Service {
    ctor public KeyedAppStatesService();
    method public android.os.IBinder onBind(android.content.Intent);
    method public abstract void onReceive(java.util.Collection<androidx.enterprise.feedback.ReceivedKeyedAppState!>, boolean);
  }

  @com.google.auto.value.AutoValue public abstract class ReceivedKeyedAppState {
    method public static androidx.enterprise.feedback.ReceivedKeyedAppState.ReceivedKeyedAppStateBuilder builder();
    method public abstract String? getData();
    method public abstract String getKey();
    method public abstract String? getMessage();
    method public abstract String getPackageName();
    method public abstract int getSeverity();
    method public abstract long getTimestamp();
  }

  @com.google.auto.value.AutoValue.Builder public abstract static class ReceivedKeyedAppState.ReceivedKeyedAppStateBuilder {
    method public abstract androidx.enterprise.feedback.ReceivedKeyedAppState build();
    method public abstract androidx.enterprise.feedback.ReceivedKeyedAppState.ReceivedKeyedAppStateBuilder setData(String?);
    method public abstract androidx.enterprise.feedback.ReceivedKeyedAppState.ReceivedKeyedAppStateBuilder setKey(String);
    method public abstract androidx.enterprise.feedback.ReceivedKeyedAppState.ReceivedKeyedAppStateBuilder setMessage(String?);
    method public abstract androidx.enterprise.feedback.ReceivedKeyedAppState.ReceivedKeyedAppStateBuilder setPackageName(String);
    method public abstract androidx.enterprise.feedback.ReceivedKeyedAppState.ReceivedKeyedAppStateBuilder setSeverity(int);
    method public abstract androidx.enterprise.feedback.ReceivedKeyedAppState.ReceivedKeyedAppStateBuilder setTimestamp(long);
  }

}

