using System.Collections.Generic;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Web.Models;
namespace Umbraco.Web
{
public interface ITagQuery
{
///
/// Gets all documents tagged with the specified tag.
///
IEnumerable GetContentByTag(string tag, string group = null, string culture = null);
///
/// Gets all documents tagged with any tag in the specified group.
///
IEnumerable GetContentByTagGroup(string group, string culture = null);
///
/// Gets all media tagged with the specified tag.
///
IEnumerable GetMediaByTag(string tag, string group = null, string culture = null);
///
/// Gets all media tagged with any tag in the specified group.
///
IEnumerable GetMediaByTagGroup(string group, string culture = null);
///
/// Gets all tags.
///
IEnumerable GetAllTags(string group = null, string culture = null);
///
/// Gets all document tags.
///
IEnumerable GetAllContentTags(string group = null, string culture = null);
///
/// Gets all media tags.
///
IEnumerable GetAllMediaTags(string group = null, string culture = null);
///
/// Gets all member tags.
///
IEnumerable GetAllMemberTags(string group = null, string culture = null);
///
/// Gets all tags attached to an entity via a property.
///
IEnumerable GetTagsForProperty(int contentId, string propertyTypeAlias, string group = null, string culture = null);
///
/// Gets all tags attached to an entity.
///
IEnumerable GetTagsForEntity(int contentId, string group = null, string culture = null);
}
}