using System;
using System.Collections.Generic;
using System.Xml.XPath;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Core.Xml;
namespace Umbraco.Web
{
using Examine = global::Examine;
///
/// Query methods used for accessing strongly typed content in templates
///
public interface IPublishedContentQuery
{
IPublishedContent Content(int id);
IPublishedContent Content(Guid id);
IPublishedContent ContentSingleAtXPath(string xpath, params XPathVariable[] vars);
IEnumerable Content(IEnumerable ids);
IEnumerable Content(IEnumerable ids);
IEnumerable ContentAtXPath(string xpath, params XPathVariable[] vars);
IEnumerable ContentAtXPath(XPathExpression xpath, params XPathVariable[] vars);
IEnumerable ContentAtRoot();
IPublishedContent Media(int id);
IPublishedContent Media(Guid id);
IEnumerable Media(IEnumerable ids);
IEnumerable Media(IEnumerable ids);
IEnumerable MediaAtRoot();
///
/// Searches content
///
///
///
///
///
IEnumerable Search(string term, bool useWildCards = true, string searchProvider = null);
///
/// Searhes content
///
///
///
///
IEnumerable Search(Examine.SearchCriteria.ISearchCriteria criteria, Examine.Providers.BaseSearchProvider searchProvider = null);
}
}