namespace AIStudio.Provider.Reasoning;
///
/// One way of asking a request to think, and how to recognize it.
///
///
/// A dialect reads parameters and says nothing else. It does not know which provider it is being
/// asked for, it keeps no state, and it never looks at the model -- what a model is able to do comes
/// from the rules, and mixing the two is what made the code this replaces hard to follow.
///
public interface IReasoningDialect
{
///
/// Which dialect this is, which is also where it stands in the order.
///
ReasoningDialect Dialect { get; }
///
/// Reads what these parameters say about reasoning.
///
/// The parsed additional API parameters.
/// What they say, which is usually nothing.
ReasoningConfigurationState Detect(IDictionary parameters);
}