using System;
namespace StardewModdingAPI
{
/// Generic metadata and methods for a content asset being loaded.
/// The expected data type.
public interface IContentEventData
{
/*********
** Accessors
*********/
/// The content's locale code, if the content is localised.
string Locale { get; }
/// The normalised asset name being read. The format may change between platforms; see to compare with a known path.
string AssetName { get; }
/// The content data being read.
TValue Data { get; }
/// The content data type.
Type DataType { get; }
/*********
** Public methods
*********/
/// Get whether the asset name being loaded matches a given name after normalisation.
/// The expected asset path, relative to the game's content folder and without the .xnb extension or locale suffix (like 'Data\ObjectInformation').
bool IsAssetName(string path);
/// Replace the entire content value with the given value. This is generally not recommended, since it may break compatibility with other mods or different versions of the game.
/// The new content value.
/// The is null.
/// The 's type is not compatible with the loaded asset's type.
void ReplaceWith(TValue value);
}
}