"""
This type stub file was generated by pyright.
"""

""" uses DSViewer to interact with molecules

"""
_nextDisplayId = ...
class Displayable:
  def __init__(self, doc, id=...) -> None:
    ...
  
  def Select(self, atoms=..., state=..., recurse=...): # -> int:
    ...
  
  def Hide(self, recurse=...): # -> None:
    ...
  
  def Show(self, recurse=...): # -> None:
    ...
  
  def ShowOnly(self, recurse=...): # -> None:
    ...
  
  def __del__(self): # -> None:
    ...
  


class MolViewer:
  def __init__(self, force=..., title=..., **kwargs) -> None:
    ...
  
  def DeleteAll(self): # -> None:
    ...
  
  def DeleteAllExcept(self, excludes): # -> None:
    ...
  
  def ShowMol(self, mol, name=..., showOnly=..., highlightFeatures=..., molB=..., confId=..., zoom=...): # -> None:
    ...
  
  def LoadFile(self, filename, name, showOnly=...): # -> Displayable:
    ...
  
  def GetSelectedAtoms(self, whichSelection=...): # -> list[Unknown]:
    ...
  
  def HighlightAtoms(self, indices, where, extraHighlight=...): # -> None:
    ...
  
  def SelectAtoms(self, itemId, atomIndices, selName=...): # -> None:
    ...
  
  def SetDisplayUpdate(self, val): # -> None:
    ...
  
  def GetAtomCoords(self, sels): # -> dict[Unknown, Unknown]:
    ...
  
  def AddPharmacophore(self, locs, colors, label, sphereRad=...): # -> None:
    ...
  
  def SetDisplayStyle(self, obj, style=...): # -> None:
    ...
  
  def HideAll(self): # -> None:
    ...
  
  def HideObject(self, objName): # -> None:
    ...
  
  def DisplayObject(self, objName): # -> None:
    ...
  
  def Zoom(self, objName): # -> None:
    ...
  
  def SelectProteinNeighborhood(self, aroundObj, inObj, distance=..., name=..., showSurface=...): # -> None:
    """ FIX: the surface display stuff here is all screwed up due to
    differences between the way PyMol and DSViewer handle surfaces.
    In PyMol they are essentially a display mode for the protein, so
    they don't need to be managed separately.
    In DSViewer, on the other hand, the surface is attached to the
    protein, but it needs to be hidden or shown on its own.  I haven't
    figured out how to do that yet.
    """
    ...
  
  def Redraw(self): # -> None:
    ...
  


if __name__ == '__main__':
  m = ...
  s = ...
