using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using Umbraco.Core.Models.Entities;
namespace Umbraco.Core.Models
{
///
/// Defines a Macro
///
public interface IMacro : IEntity, IRememberBeingDirty
{
///
/// Gets or sets the alias of the Macro
///
[DataMember]
string Alias { get; set; }
///
/// Gets or sets the name of the Macro
///
[DataMember]
string Name { get; set; }
///
/// Gets or sets a boolean indicating whether the Macro can be used in an Editor
///
[DataMember]
bool UseInEditor { get; set; }
///
/// Gets or sets the Cache Duration for the Macro
///
[DataMember]
int CacheDuration { get; set; }
///
/// Gets or sets a boolean indicating whether the Macro should be Cached by Page
///
[DataMember]
bool CacheByPage { get; set; }
///
/// Gets or sets a boolean indicating whether the Macro should be Cached Personally
///
[DataMember]
bool CacheByMember { get; set; }
///
/// Gets or sets a boolean indicating whether the Macro should be rendered in an Editor
///
[DataMember]
bool DontRender { get; set; }
///
/// Gets or set the path to the macro source to render
///
[DataMember]
string MacroSource { get; set; }
///
/// Gets or set the macro type
///
[DataMember]
MacroTypes MacroType { get; set; }
///
/// Gets or sets a list of Macro Properties
///
[DataMember]
MacroPropertyCollection Properties { get; }
/////
///// Returns an enum based on the properties on the Macro
/////
/////
//MacroTypes MacroType();
}
}