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

""" defines class _DbResultSet_ for lazy interactions with Db query results

**Note**

  this uses the Python iterator interface, so you'll need python 2.2 or above.

"""
class DbResultBase:
  def __init__(self, cursor, conn, cmd, removeDups=..., transform=..., extras=...) -> None:
    ...
  
  def Reset(self): # -> None:
    """ implement in subclasses

    """
    ...
  
  def __iter__(self): # -> DbResultBase:
    ...
  
  def GetColumnNames(self): # -> tuple[Unknown, ...] | list[Unknown]:
    ...
  
  def GetColumnTypes(self): # -> tuple[Unknown, ...] | list[Unknown]:
    ...
  
  def GetColumnNamesAndTypes(self): # -> tuple[Tuple[Unknown, Unknown], ...]:
    ...
  


class DbResultSet(DbResultBase):
  """ Only supports forward iteration """
  def __init__(self, *args, **kwargs) -> None:
    ...
  
  def Reset(self): # -> None:
    ...
  
  def next(self):
    ...
  
  __next__ = ...


class RandomAccessDbResultSet(DbResultBase):
  """ Supports random access """
  def __init__(self, *args, **kwargs) -> None:
    ...
  
  def Reset(self): # -> None:
    ...
  
  def __getitem__(self, idx):
    ...
  
  def __len__(self): # -> int:
    ...
  
  def next(self):
    ...
  
  __next__ = ...


if __name__ == '__main__':
  conn = ...
  curs = ...
  resultSet = ...
  curs = ...
  resultSet = ...
  curs = ...
  resultSet = ...
  curs = ...
  resultSet = ...
  r = ...
  curs = ...
  resultSet = ...
  r = ...
  curs = ...
  resultSet = ...
  curs = ...
  resultSet = ...
  curs = ...
  resultSet = ...
