from _typeshed import Incomplete
from rdkit.Dbase import DbInfo as DbInfo

class DbResultBase:
    cursor: Incomplete
    removeDups: Incomplete
    transform: Incomplete
    cmd: Incomplete
    conn: Incomplete
    extras: Incomplete
    def __init__(
        self,
        cursor,
        conn,
        cmd,
        removeDups: int = ...,
        transform: Incomplete | None = ...,
        extras: Incomplete | None = ...,
    ) -> None: ...
    def Reset(self) -> None: ...
    def __iter__(self): ...
    colNames: Incomplete
    colTypes: Incomplete
    def _initColumnNamesAndTypes(self) -> None: ...
    def GetColumnNames(self): ...
    def GetColumnTypes(self): ...
    def GetColumnNamesAndTypes(self): ...

class DbResultSet(DbResultBase):
    seen: Incomplete
    _stopped: int
    def __init__(self, *args, **kwargs) -> None: ...
    def Reset(self) -> None: ...
    def next(self): ...
    __next__: Incomplete

class RandomAccessDbResultSet(DbResultBase):
    results: Incomplete
    seen: Incomplete
    _pos: int
    def __init__(self, *args, **kwargs) -> None: ...
    def Reset(self) -> None: ...
    cursor: Incomplete
    def _finish(self) -> None: ...
    def __getitem__(self, idx): ...
    def __len__(self) -> int: ...
    def next(self): ...
    __next__: Incomplete
