#include "nsISupports.idl"
[scriptable, uuid(2FD55049-0125-48be-88E6-270B1B83A8A8)]
interface IRDMolecule : nsISupports
{
  double GetMW();
  string GetSmiles();
  string GetMolBlock();
  unsigned long GetSmartsMatchCount(in string smarts);
  double LogP();
  double MR();
  void Generate3DCoords();
};

[scriptable, uuid(056a8da1-7820-41d7-b254-5ef7dd1693ce)]
interface IRDMolSupplier : nsISupports
{
  boolean atEnd();
  IRDMolecule next();
};

[scriptable, uuid(BFB9ACF3-9349-47ec-8984-F6F8E2F02F65)]
interface IRDKit : nsISupports
{
  unsigned long strlen(in string arg);
  IRDMolecule MolFromSmiles(in string smiles);
  IRDMolecule MolFromMolBlock(in string molBlock);
  IRDMolSupplier SupplierFromSDFile(in string fileName);

};

