using System;
using Avalonia.Metadata;
namespace Avalonia.Controls
{
///
/// Represents an element which hosts resources.
///
///
/// This interface is implemented by and `Application`.
///
[NotClientImplementable]
public interface IResourceHost : IResourceNode
{
///
/// Raised when the resources change on the element or an ancestor of the element.
///
event EventHandler? ResourcesChanged;
///
/// Notifies the resource host that one or more of its hosted resources has changed.
///
/// The event args.
///
/// This method will be called automatically by the framework, you should not need to call
/// this method yourself. It is called when the resources hosted by this element have
/// changed, and is usually called by a resource dictionary or style hosted by the element
/// in response to a resource being added or removed.
///
void NotifyHostedResourcesChanged(ResourcesChangedEventArgs e);
}
}