chromium/components/translate/core/browser/translate_ui_languages_manager.h

// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_TRANSLATE_CORE_BROWSER_TRANSLATE_UI_LANGUAGES_MANAGER_H_
#define COMPONENTS_TRANSLATE_CORE_BROWSER_TRANSLATE_UI_LANGUAGES_MANAGER_H_

#include <stddef.h>

#include <string>
#include <utility>
#include <vector>

#include "base/memory/weak_ptr.h"
#include "third_party/icu/source/i18n/unicode/coll.h"

namespace translate {

class TranslateManager;
class TranslatePrefs;

// Handles index management and querying functions for language lists used in
// the Full Page Translate and Partial Translate UIs.

// Note that the API offers a way to read/set language values through array
// indices. Such indices are only valid as long as the visual representation
// (infobar, bubble...) is in sync with the underlying language list which
// can actually change at run time (see translate_language_list.h).
// It is recommended that languages are only updated by language code to
// avoid bugs like crbug.com/555124
class TranslateUILanguagesManager {};

}  // namespace translate

#endif  // COMPONENTS_TRANSLATE_CORE_BROWSER_TRANSLATE_UI_LANGUAGES_MANAGER_H_