using System.Collections.Generic;
using System.Xml.XPath;
using Umbraco.Core.Models;
using Umbraco.Core.Xml;
namespace Umbraco.Web
{
///
/// Query methods used for accessing strongly typed content in templates
///
public interface ITypedPublishedContentQuery
{
IPublishedContent TypedContent(int id);
IPublishedContent TypedContentSingleAtXPath(string xpath, params XPathVariable[] vars);
IEnumerable TypedContent(IEnumerable ids);
IEnumerable TypedContentAtXPath(string xpath, params XPathVariable[] vars);
IEnumerable TypedContentAtXPath(XPathExpression xpath, params XPathVariable[] vars);
IEnumerable TypedContentAtRoot();
IPublishedContent TypedMedia(int id);
IEnumerable TypedMedia(IEnumerable ids);
IEnumerable TypedMediaAtRoot();
///
/// Searches content
///
///
///
///
///
IEnumerable TypedSearch(string term, bool useWildCards = true, string searchProvider = null);
///
/// Searhes content
///
///
///
///
IEnumerable TypedSearch(Examine.SearchCriteria.ISearchCriteria criteria, Examine.Providers.BaseSearchProvider searchProvider = null);
}
}