using System.Collections.Generic;
using System.Web;
using Umbraco.Core.Models;
namespace Umbraco.Web
{
///
/// Methods used to render umbraco components as HTML in templates
///
public interface IUmbracoComponentRenderer
{
///
/// Renders the template for the specified pageId and an optional altTemplateId
///
///
/// If not specified, will use the template assigned to the node
///
IHtmlString RenderTemplate(int pageId, int? altTemplateId = null);
///
/// Renders the macro with the specified alias.
///
/// The alias.
///
IHtmlString RenderMacro(string alias);
///
/// Renders the macro with the specified alias, passing in the specified parameters.
///
/// The alias.
/// The parameters.
///
IHtmlString RenderMacro(string alias, object parameters);
///
/// Renders the macro with the specified alias, passing in the specified parameters.
///
/// The alias.
/// The parameters.
///
IHtmlString RenderMacro(string alias, IDictionary parameters);
///
/// Renders an field to the template
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
////
///
IHtmlString Field(IPublishedContent currentPage, string fieldAlias,
string altFieldAlias = "", string altText = "", string insertBefore = "", string insertAfter = "",
bool recursive = false, bool convertLineBreaks = false, bool removeParagraphTags = false,
RenderFieldCaseType casing = RenderFieldCaseType.Unchanged,
RenderFieldEncodingType encoding = RenderFieldEncodingType.Unchanged,
bool formatAsDate = false,
bool formatAsDateWithTime = false,
string formatAsDateWithTimeSeparator = "");
}
}