using Avalonia.Metadata;
using Avalonia.Styling;
namespace Avalonia.Controls
{
///
/// Represents an object that can be queried for resources.
///
///
/// The interface represents a common interface for both controls that host resources
/// () and resource providers such as
/// (see ).
///
[NotClientImplementable]
public interface IResourceNode
{
///
/// Gets a value indicating whether the object has resources.
///
bool HasResources { get; }
///
/// Tries to find a resource within the object.
///
/// The resource key.
/// Theme used to select theme dictionary.
///
/// When this method returns, contains the value associated with the specified key,
/// if the key is found; otherwise, null.
///
///
/// True if the resource if found, otherwise false.
///
bool TryGetResource(object key, ThemeVariant? theme, out object? value);
}
}