#pragma once

#include <string>
#include <string_view>
#include <vector>

namespace ta::application
{
    class ILocaleController
    {
    public:
        virtual ~ILocaleController() = default;
        [[nodiscard]] virtual int default_index() const = 0;
        [[nodiscard]] virtual std::vector<std::string> option_labels() const = 0;
        [[nodiscard]] virtual int index_for_id(std::string_view locale_id) const = 0;
        [[nodiscard]] virtual std::string id_for_index(int index) const = 0;
        [[nodiscard]] virtual bool select_index(int index) = 0;
    };
}
