using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
namespace Umbraco.Core.Models
{
///
/// Defines a document in Umbraco
///
///
/// A replacement for INode which needs to occur since INode doesn't contain the document type alias
/// and INode is poorly formatted with mutable properties (i.e. Lists instead of IEnumerable)
///
public interface IDocument
{
IDocument Parent { get; }
int Id { get; }
int TemplateId { get; }
int SortOrder { get; }
string Name { get; }
string UrlName { get; }
string DocumentTypeAlias { get; }
int DocumentTypeId { get; }
string WriterName { get; }
string CreatorName { get; }
int WriterId { get; }
int CreatorId { get; }
string Path { get; }
DateTime CreateDate { get; }
DateTime UpdateDate { get; }
Guid Version { get; }
int Level { get; }
Collection Properties { get; }
IEnumerable Children { get; }
}
}