namespace BytecodeApi.Wmi;
///
/// Provides functionality to evaluate queries against WMI classes.
///
public interface IWmiQueryable
{
///
/// Specifies what columns to read from the WMI class. By default, all columns are read.
///
/// A [] specifying what columns to read from the WMI class.
///
/// The query with the additional SELECT statement.
///
IWmiQueryable Select(params string[] columns);
///
/// Specifies a filter condition for the WMI WHERE clause.
///
/// A statement for the WMI WHERE clause.
///
/// The query with the additional WHERE statement.
///
IWmiQueryable Where(string condition);
///
/// Executes this query and reads the contents from the WMI class.
///
///
/// A new [] with the contents from the WMI class.
///
WmiObject[] ToArray();
///
/// Executes this query and reads the first element from the WMI class.
///
///
/// A new with the first element from the WMI class.
///
WmiObject First();
///
/// Executes this query and reads the first element from the WMI class, and returns , if the query returned no elements.
///
///
/// A new with the first element from the WMI class, or , if the query returned no elements.
///
WmiObject? FirstOrDefault();
}