using System;
namespace MediaBrowser.Controller.Entities
{
    /// 
    /// Interface IHasMetadata
    /// 
    public interface IHasMetadata : IHasImages
    {
        /// 
        /// Gets the preferred metadata country code.
        /// 
        /// System.String.
        string GetPreferredMetadataCountryCode();
        /// 
        /// Gets the date modified.
        /// 
        /// The date modified.
        DateTime DateModified { get; }
        /// 
        /// Gets or sets the date last saved.
        /// 
        /// The date last saved.
        DateTime DateLastSaved { get; set; }
        SourceType SourceType { get; set; }
        /// 
        /// Gets or sets the date last refreshed.
        /// 
        /// The date last refreshed.
        DateTime DateLastRefreshed { get; set; }
        
        /// 
        /// This is called before any metadata refresh and returns true or false indicating if changes were made
        /// 
        /// true if XXXX, false otherwise.
        bool BeforeMetadataRefresh();
        /// 
        /// Afters the metadata refresh.
        /// 
        void AfterMetadataRefresh();
        /// 
        /// Gets a value indicating whether [supports people].
        /// 
        /// true if [supports people]; otherwise, false.
        bool SupportsPeople { get; }
    }
}