#ifndef THIRD_PARTY_BLINK_PUBLIC_COMMON_MANIFEST_MANIFEST_UTIL_H_
#define THIRD_PARTY_BLINK_PUBLIC_COMMON_MANIFEST_MANIFEST_UTIL_H_
#include <optional>
#include <string>
#include "services/device/public/mojom/screen_orientation_lock_types.mojom-shared.h"
#include "third_party/blink/public/common/common_export.h"
#include "third_party/blink/public/common/manifest/manifest.h"
#include "third_party/blink/public/mojom/manifest/capture_links.mojom-forward.h"
#include "third_party/blink/public/mojom/manifest/display_mode.mojom-forward.h"
#include "third_party/blink/public/mojom/manifest/manifest.mojom-forward.h"
#include "third_party/blink/public/mojom/manifest/manifest_launch_handler.mojom.h"
class GURL;
namespace blink {
BLINK_COMMON_EXPORT bool IsEmptyManifest(const mojom::Manifest& manifest);
BLINK_COMMON_EXPORT bool IsEmptyManifest(const mojom::ManifestPtr& manifest);
BLINK_COMMON_EXPORT bool IsDefaultManifest(const mojom::Manifest& manifest,
const GURL& document_url);
BLINK_COMMON_EXPORT bool IsDefaultManifest(const mojom::ManifestPtr& manifest,
const GURL& document_url);
BLINK_COMMON_EXPORT std::string DisplayModeToString(
blink::mojom::DisplayMode display);
BLINK_COMMON_EXPORT blink::mojom::DisplayMode DisplayModeFromString(
const std::string& display);
BLINK_COMMON_EXPORT bool IsBasicDisplayMode(blink::mojom::DisplayMode display);
BLINK_COMMON_EXPORT std::string WebScreenOrientationLockTypeToString(
device::mojom::ScreenOrientationLockType);
BLINK_COMMON_EXPORT device::mojom::ScreenOrientationLockType
WebScreenOrientationLockTypeFromString(const std::string& orientation);
BLINK_COMMON_EXPORT mojom::CaptureLinks CaptureLinksFromString(
const std::string& capture_links);
BLINK_COMMON_EXPORT std::optional<mojom::ManifestLaunchHandler::ClientMode>
ClientModeFromString(const std::string& client_mode);
}
#endif