#ifndef CHROME_BROWSER_IMAGE_EDITOR_SCREENSHOT_FLOW_H_
#define CHROME_BROWSER_IMAGE_EDITOR_SCREENSHOT_FLOW_H_
#include <memory>
#include <string>
#include "base/files/file_path.h"
#include "base/functional/callback.h"
#include "base/supports_user_data.h"
#include "build/build_config.h"
#include "content/public/browser/web_contents_observer.h"
#include "ui/base/cursor/mojom/cursor_type.mojom-shared.h"
#include "ui/compositor/layer.h"
#include "ui/compositor/layer_delegate.h"
#include "ui/events/event.h"
#include "ui/events/event_handler.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/image/image.h"
#if BUILDFLAG(IS_MAC)
#include "chrome/browser/image_editor/event_capture_mac.h"
#else
#include "base/scoped_observation.h"
#endif
namespace content {
class WebContents;
enum class Visibility;
}
namespace gfx {
class Canvas;
}
namespace ui {
class EventTarget;
class Layer;
}
namespace image_editor {
class ScreenshotCapturedData : public base::SupportsUserData::Data { … };
enum class ScreenshotCaptureResultCode { … };
struct ScreenshotCaptureResult { … };
ScreenshotCaptureCallback;
class ScreenshotFlow : public content::WebContentsObserver,
public ui::LayerDelegate,
public ui::EventHandler { … };
}
#endif