using ZelWiki.Engine.Function;
namespace ZelWiki.Engine.Library.Interfaces
{
///
/// Base function handler for standard, post-processing, scoped and processing-instruction functions.
///
public interface IFunctionHandler
{
///
/// Returns a collection of function prototypes.
///
///
public FunctionPrototypeCollection Prototypes { get; }
///
/// Called to handle function calls when proper prototypes are matched.
///
/// Reference to the wiki state object
/// The parsed function call and all its parameters and their values.
/// For scope functions, this is the text that the function is designed to affect.
public HandlerResult Handle(IZelEngineState state, FunctionCall function, string? scopeBody = null);
}
}