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

#ifndef IOS_CHROME_BROWSER_CONTENT_SUGGESTIONS_UI_CONTENT_SUGGESTIONS_ACTIONS_PROVIDER_H_
#define IOS_CHROME_BROWSER_CONTENT_SUGGESTIONS_UI_CONTENT_SUGGESTIONS_ACTIONS_PROVIDER_H_

@class MostVisitedItem;

// Protocol for instances that will provide actions (menus and accessibility
// custom actions) to ContentSuggestions components.
@protocol ContentSuggestionsActionsProvider

// Returns the default menu elements that should be shown in the context menu
// for the given `item`, which is represented on the UI by `view`.
- (NSArray<UIMenuElement*>*)defaultContextMenuElementsForItem:
                                (MostVisitedItem*)item
                                                     fromView:(UIView*)view;

// Returns the accessibility custom actions that should be shown for the given
// `item`, which is represented on the UI by `view`.
- (NSArray<UIAccessibilityCustomAction*>*)
    accessibilityCustomActionsForItem:(MostVisitedItem*)item
                             fromView:(UIView*)view;

@end

#endif  // IOS_CHROME_BROWSER_CONTENT_SUGGESTIONS_UI_CONTENT_SUGGESTIONS_ACTIONS_PROVIDER_H_
