using UnityEngine.Experimental.UIElements;
namespace UnityEditor.PackageManager.UI
{
///
/// Interface for Package Manager UI Extension
///
public interface IPackageManagerExtension
{
///
/// Creates the extension UI visual element.
///
/// A visual element that represents the UI or null if none
VisualElement CreateExtensionUI();
///
/// Called by the Package Manager UI when the package selection changed.
///
/// The newly selected package information (can be null)
void OnPackageSelectionChange(PackageManager.PackageInfo packageInfo);
///
/// Called by the Package Manager UI when a package is added or updated.
///
/// The package information
void OnPackageAddedOrUpdated(PackageManager.PackageInfo packageInfo);
///
/// Called by the Package Manager UI when a package is removed.
///
/// The package information
void OnPackageRemoved(PackageManager.PackageInfo packageInfo);
}
}