using System;
using System.Collections.Generic;
namespace Xamarin.PropertyEditing
{
public interface IPropertyInfo
{
string Name { get; }
///
/// Gets a summary description of the property.
///
///
/// Currently does not support any form of markup.
///
string Description { get; }
///
/// Gets the representative type for the property (Common*, primitive, etc).
///
Type Type { get; }
///
/// Gets the real type for the property (ex. Drawable instead of CommonBrush).
///
ITypeInfo RealType { get; }
///
/// A resource-name of the category the property belongs to.
///
string Category { get; }
bool CanWrite { get; }
///
/// Gets whether the property is an uncommonly used property.
///
///
/// This acts as a hint to hide the property behind disclosures when appropriate.
///
bool IsUncommon { get; }
///
/// Gets the possible sources of values for this property.
///
ValueSources ValueSources { get; }
///
/// Gets a list of possible variations of the property.
///
///
///
/// These are essentially conditions that can be applied for when a specific value for a property is used.
/// They should not include a neutral state.
///
///
IReadOnlyList Variations { get; }
IReadOnlyList AvailabilityConstraints { get; }
}
}