#ifndef ASH_BIRCH_CORAL_UTIL_H_
#define ASH_BIRCH_CORAL_UTIL_H_
#include <string>
#include "ash/ash_export.h"
#include "base/values.h"
#include "chromeos/ash/services/coral/public/mojom/coral_service.mojom.h"
#include "components/prefs/pref_service.h"
namespace aura {
class Window;
}
namespace ash::coral_util {
struct ASH_EXPORT TabsAndApps {
TabsAndApps();
TabsAndApps(const TabsAndApps& other);
TabsAndApps& operator=(const TabsAndApps& other);
~TabsAndApps();
std::vector<coral::mojom::Tab> tabs;
std::vector<coral::mojom::App> apps;
};
std::string GetIdentifier(const coral::mojom::EntityPtr& item);
std::string GetIdentifier(const coral::mojom::Entity& item);
bool CanMoveToNewDesk(aura::Window* window);
TabsAndApps ASH_EXPORT
SplitContentData(const std::vector<coral::mojom::EntityPtr>& content);
base::Value::List EntitiesToListValue(
const std::vector<coral::mojom::EntityPtr>& entities);
std::string GroupToString(const coral::mojom::GroupPtr& group);
enum class GenAISmartGroupingSettings {
kAllowed = 0,
kAllowedWithoutLogging,
kDisabled,
};
bool IsCoralFeedbackAllowedByPolicy(PrefService* pref_service);
bool IsCoralAllowedByPolicy(PrefService* pref_service);
}
#endif