// Signature format: 3.0
package androidx.camera.camera2 {

  public final class Camera2Config {
    method public static androidx.camera.core.CameraXConfig defaultConfig();
  }

}

package androidx.camera.camera2.interop {

  @androidx.camera.camera2.interop.ExperimentalCamera2Interop public final class Camera2CameraFilter {
    method public static androidx.camera.core.CameraFilter createCameraFilter(androidx.camera.camera2.interop.Camera2CameraFilter.Camera2Filter);
  }

  public static interface Camera2CameraFilter.Camera2Filter {
    method public java.util.LinkedHashMap<java.lang.String!,android.hardware.camera2.CameraCharacteristics!> filter(java.util.LinkedHashMap<java.lang.String!,android.hardware.camera2.CameraCharacteristics!>);
  }

  @androidx.camera.camera2.interop.ExperimentalCamera2Interop public final class Camera2CameraInfo {
    method public static String extractCameraId(androidx.camera.core.CameraInfo);
  }

  @androidx.camera.camera2.interop.ExperimentalCamera2Interop public final class Camera2Interop {
  }

  public static final class Camera2Interop.Extender<T> {
    ctor public Camera2Interop.Extender(androidx.camera.core.ExtendableBuilder<T!>);
    method public <ValueT> androidx.camera.camera2.interop.Camera2Interop.Extender<T!> setCaptureRequestOption(android.hardware.camera2.CaptureRequest.Key<ValueT!>, ValueT);
    method public androidx.camera.camera2.interop.Camera2Interop.Extender<T!> setDeviceStateCallback(android.hardware.camera2.CameraDevice.StateCallback);
    method public androidx.camera.camera2.interop.Camera2Interop.Extender<T!> setSessionCaptureCallback(android.hardware.camera2.CameraCaptureSession.CaptureCallback);
    method public androidx.camera.camera2.interop.Camera2Interop.Extender<T!> setSessionStateCallback(android.hardware.camera2.CameraCaptureSession.StateCallback);
  }

  @experimental.Experimental @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public @interface ExperimentalCamera2Interop {
  }

}

