using System;
using System.Collections.Generic;
namespace Umbraco.Core.Models.PublishedContent
{
///
/// Represents a published element.
///
public interface IPublishedElement
{
#region ContentType
///
/// Gets the content type.
///
PublishedContentType ContentType { get; }
#endregion
#region PublishedElement
///
/// Gets the unique key of the published element.
///
Guid Key { get; }
#endregion
#region Properties
///
/// Gets the properties of the element.
///
/// Contains one IPublishedProperty for each property defined for the content type, including
/// inherited properties. Some properties may have no value.
IEnumerable Properties { get; }
///
/// Gets a property identified by its alias.
///
/// The property alias.
/// The property identified by the alias.
///
/// If the content type has no property with that alias, including inherited properties, returns null,
/// otherwise return a property -- that may have no value (ie HasValue is false).
/// The alias is case-insensitive.
///
IPublishedProperty GetProperty(string alias);
#endregion
}
}