using System.Xml.XPath;
using Umbraco.Core.Models;
using Umbraco.Core.Models.PublishedContent;
namespace Umbraco.Web.PublishedCache
{
public interface IPublishedMemberCache : IXPathNavigable
{
IPublishedContent GetByProviderKey(object key);
IPublishedContent GetById(int memberId);
IPublishedContent GetByUsername(string username);
IPublishedContent GetByEmail(string email);
IPublishedContent GetByMember(IMember member);
XPathNavigator CreateNavigator(bool preview);
// if the node does not exist, return null
XPathNavigator CreateNodeNavigator(int id, bool preview);
///
/// Gets a content type identified by its unique identifier.
///
/// The content type unique identifier.
/// The content type, or null.
PublishedContentType GetContentType(int id);
///
/// Gets a content type identified by its alias.
///
/// The content type alias.
/// The content type, or null.
/// The alias is case-insensitive.
PublishedContentType GetContentType(string alias);
}
}