#ifndef CHROME_BROWSER_UI_BROWSER_WINDOW_H_
#define CHROME_BROWSER_UI_BROWSER_WINDOW_H_
#include <memory>
#include <optional>
#include <string>
#include <vector>
#include "base/feature_list.h"
#include "base/functional/callback_forward.h"
#include "base/functional/callback_helpers.h"
#include "build/branding_buildflags.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/apps/link_capturing/intent_picker_info.h"
#include "chrome/browser/lifetime/browser_close_manager.h"
#include "chrome/browser/share/share_attempt.h"
#include "chrome/browser/signin/chrome_signin_helper.h"
#include "chrome/browser/translate/chrome_translate_client.h"
#include "chrome/browser/ui/bookmarks/bookmark_bar.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/exclusive_access/exclusive_access_bubble_type.h"
#include "chrome/browser/ui/hats/hats_service.h"
#include "chrome/browser/ui/page_action/page_action_icon_type.h"
#include "chrome/browser/ui/views/side_panel/side_panel_entry_id.h"
#include "chrome/browser/ui/views/side_panel/side_panel_enums.h"
#include "chrome/browser/ui/translate/partial_translate_bubble_model.h"
#include "chrome/common/buildflags.h"
#include "components/content_settings/core/common/content_settings_types.h"
#include "components/translate/core/common/translate_errors.h"
#include "components/user_education/common/feature_promo_controller.h"
#include "components/user_education/common/feature_promo_specification.h"
#include "components/user_education/common/new_badge_controller.h"
#include "ui/base/base_window.h"
#include "ui/base/interaction/element_identifier.h"
#include "ui/base/window_open_disposition.h"
#include "ui/gfx/native_widget_types.h"
#include "url/origin.h"
#if BUILDFLAG(IS_ANDROID)
#error This file should only be included on desktop.
#endif
class Browser;
class BrowserView;
class DownloadBubbleUIController;
class DownloadShelf;
class ExclusiveAccessContext;
class ExtensionsContainer;
class FindBar;
class GURL;
class LocationBar;
class SharingDialog;
class StatusBubble;
struct SharingDialogData;
namespace autofill {
class AutofillBubbleHandler;
}
namespace content {
class WebContents;
struct NativeWebKeyboardEvent;
enum class KeyboardEventProcessingResult;
}
namespace gfx {
class Size;
}
namespace qrcode_generator {
class QRCodeGeneratorBubbleView;
}
namespace send_tab_to_self {
class SendTabToSelfBubbleView;
}
namespace sharing_hub {
class ScreenshotCapturedBubble;
class SharingHubBubbleView;
}
namespace signin_metrics {
enum class AccessPoint;
}
namespace ui {
class ColorProvider;
class NativeTheme;
class ThemeProvider;
}
namespace views {
class Button;
class WebView;
}
namespace web_modal {
class WebContentsModalDialogHost;
}
enum class ShowTranslateBubbleResult { … };
enum class BrowserThemeChangeType { … };
class BrowserWindow : public ui::BaseWindow { … };
#endif