// Signature format: 4.0
package androidx.camera.viewfinder {

  @RequiresApi(21) public final class CameraViewfinder extends android.widget.FrameLayout {
    ctor @UiThread public CameraViewfinder(android.content.Context);
    ctor @UiThread public CameraViewfinder(android.content.Context, android.util.AttributeSet?);
    ctor @UiThread public CameraViewfinder(android.content.Context, android.util.AttributeSet?, int);
    ctor @UiThread public CameraViewfinder(android.content.Context, android.util.AttributeSet?, int, int);
    method @UiThread public android.graphics.Bitmap? getBitmap();
    method @UiThread public androidx.camera.viewfinder.CameraViewfinder.ImplementationMode getImplementationMode();
    method @UiThread public androidx.camera.viewfinder.CameraViewfinder.ScaleType getScaleType();
    method @UiThread public com.google.common.util.concurrent.ListenableFuture<android.view.Surface!> requestSurfaceAsync(androidx.camera.viewfinder.ViewfinderSurfaceRequest);
    method @UiThread public void setScaleType(androidx.camera.viewfinder.CameraViewfinder.ScaleType);
  }

  @RequiresApi(21) public enum CameraViewfinder.ImplementationMode {
    enum_constant public static final androidx.camera.viewfinder.CameraViewfinder.ImplementationMode COMPATIBLE;
    enum_constant public static final androidx.camera.viewfinder.CameraViewfinder.ImplementationMode PERFORMANCE;
  }

  @RequiresApi(21) public enum CameraViewfinder.ScaleType {
    enum_constant public static final androidx.camera.viewfinder.CameraViewfinder.ScaleType FILL_CENTER;
    enum_constant public static final androidx.camera.viewfinder.CameraViewfinder.ScaleType FILL_END;
    enum_constant public static final androidx.camera.viewfinder.CameraViewfinder.ScaleType FILL_START;
    enum_constant public static final androidx.camera.viewfinder.CameraViewfinder.ScaleType FIT_CENTER;
    enum_constant public static final androidx.camera.viewfinder.CameraViewfinder.ScaleType FIT_END;
    enum_constant public static final androidx.camera.viewfinder.CameraViewfinder.ScaleType FIT_START;
  }

  @RequiresApi(21) public final class CameraViewfinderExt {
    method public suspend Object? requestSurface(androidx.camera.viewfinder.CameraViewfinder, androidx.camera.viewfinder.ViewfinderSurfaceRequest viewfinderSurfaceRequest, kotlin.coroutines.Continuation<? super android.view.Surface>);
    field public static final androidx.camera.viewfinder.CameraViewfinderExt INSTANCE;
  }

  @RequiresApi(21) public class ViewfinderSurfaceRequest {
    method public androidx.camera.viewfinder.CameraViewfinder.ImplementationMode? getImplementationMode();
    method public int getLensFacing();
    method public android.util.Size getResolution();
    method public int getSensorOrientation();
    method public void markSurfaceSafeToRelease();
  }

  public static final class ViewfinderSurfaceRequest.Builder {
    ctor public ViewfinderSurfaceRequest.Builder(android.util.Size);
    ctor public ViewfinderSurfaceRequest.Builder(androidx.camera.viewfinder.ViewfinderSurfaceRequest);
    ctor public ViewfinderSurfaceRequest.Builder(androidx.camera.viewfinder.ViewfinderSurfaceRequest.Builder);
    method public androidx.camera.viewfinder.ViewfinderSurfaceRequest build();
    method public androidx.camera.viewfinder.ViewfinderSurfaceRequest.Builder setImplementationMode(androidx.camera.viewfinder.CameraViewfinder.ImplementationMode?);
    method public androidx.camera.viewfinder.ViewfinderSurfaceRequest.Builder setLensFacing(int);
    method public androidx.camera.viewfinder.ViewfinderSurfaceRequest.Builder setSensorOrientation(int);
  }

  public final class ViewfinderSurfaceRequestUtil {
    method @RequiresApi(21) public static androidx.camera.viewfinder.ViewfinderSurfaceRequest.Builder populateFromCharacteristics(androidx.camera.viewfinder.ViewfinderSurfaceRequest.Builder, android.hardware.camera2.CameraCharacteristics cameraCharacteristics);
  }

}

