// Copyright 2025 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_VISITED_URL_RANKING_PUBLIC_URL_GROUPING_GROUP_SUGGESTIONS_DELEGATE_H_
#define COMPONENTS_VISITED_URL_RANKING_PUBLIC_URL_GROUPING_GROUP_SUGGESTIONS_DELEGATE_H_

#include "base/functional/callback.h"
#include "components/visited_url_ranking/public/url_grouping/group_suggestions.h"

namespace visited_url_ranking {

class GroupSuggestionsDelegate {
 public:
  virtual ~GroupSuggestionsDelegate() = default;

  // Shows suggestions generated by the service. Only called when the service
  // determines the suggestions are to be shown to the user.
  virtual void ShowSuggestion(const GroupSuggestions& group_suggestions,
                              SuggestionResponseCallback response_callback) = 0;

  // Shows UI to share feedback with the team.
  virtual void OnDumpStateForFeedback(const std::string& dump_state) = 0;
};

}  // namespace visited_url_ranking

#endif  // COMPONENTS_VISITED_URL_RANKING_PUBLIC_URL_GROUPING_GROUP_SUGGESTIONS_DELEGATE_H_
