#ifndef CHROMEOS_UI_WM_DEBUG_UTIL_H_
#define CHROMEOS_UI_WM_DEBUG_UTIL_H_
#include <memory>
#include <optional>
#include <sstream>
#include <string>
#include <vector>
#include "base/component_export.h"
#include "base/functional/callback.h"
#include "base/memory/raw_ptr.h"
#include "ui/aura/window.h"
namespace chromeos::wm {
using GetChildrenCallback = base::RepeatingCallback<
std::vector<raw_ptr<aura::Window, VectorExperimental>>(aura::Window*)>;
COMPONENT_EXPORT(CHROMEOS_UI_BASE)
std::vector<std::string> PrintWindowHierarchy(
aura::Window::Windows roots,
bool scrub_data,
std::ostringstream* out,
GetChildrenCallback children_callback = GetChildrenCallback());
}
#endif