from _typeshed import Incomplete
from typing import Any
from rdkit import Chem as Chem
from rdkit.Chem import (
    rdMolDescriptors as rdMolDescriptors,
    rdPartialCharges as rdPartialCharges,
)
from rdkit.Chem.EState.EState import (
    MaxAbsEStateIndex as MaxAbsEStateIndex,
    MaxEStateIndex as MaxEStateIndex,
    MinAbsEStateIndex as MinAbsEStateIndex,
    MinEStateIndex as MinEStateIndex,
)
from rdkit.Chem.QED import qed as qed

def _isCallable(thing): ...

_descList: Incomplete

def _setupDescriptors(namespace) -> None: ...

MolWt: Incomplete

def HeavyAtomMolWt(x): ...

ExactMolWt: Incomplete

def NumValenceElectrons(mol): ...
def NumRadicalElectrons(mol): ...
def _ChargeDescriptors(mol, force: bool = ...): ...
def MaxPartialCharge(mol, force: bool = ...): ...
def MinPartialCharge(mol, force: bool = ...): ...
def MaxAbsPartialCharge(mol, force: bool = ...): ...
def MinAbsPartialCharge(mol, force: bool = ...): ...
def _FingerprintDensity(mol, func, *args, **kwargs): ...
def FpDensityMorgan1(x): ...
def FpDensityMorgan2(x): ...
def FpDensityMorgan3(x): ...

names: Incomplete
autocorr: Incomplete

def setupAUTOCorrDescriptors() -> None: ...

class PropertyFunctor(rdMolDescriptors.PythonPropertyFunctor):
    def __init__(self, name, version) -> None: ...
    def __call__(self, mol) -> Any: ...

def _runDoctests(verbose: Incomplete | None = ...) -> None: ...
