#ifndef IOS_CHROME_BROWSER_LENS_MODEL_LENS_BROWSER_AGENT_H_
#define IOS_CHROME_BROWSER_LENS_MODEL_LENS_BROWSER_AGENT_H_
#import <optional>
#import "base/memory/raw_ptr.h"
#import "base/scoped_multi_source_observation.h"
#import "ios/chrome/browser/shared/model/browser/browser_user_data.h"
enum class LensEntrypoint;
class Browser;
class LensBrowserAgent : public BrowserUserData<LensBrowserAgent> {
public:
LensBrowserAgent(const LensBrowserAgent&) = delete;
LensBrowserAgent& operator=(const LensBrowserAgent&) = delete;
~LensBrowserAgent() override;
bool CanGoBackToLensViewFinder() const;
void GoBackToLensViewFinder() const;
private:
friend class BrowserUserData<LensBrowserAgent>;
explicit LensBrowserAgent(Browser* browser);
std::optional<LensEntrypoint> CurrentResultsEntrypoint() const;
};
#endif