from typing import Any, ClassVar

from typing import overload

class ContourParams:
    __instance_size__: ClassVar[int] = ...
    contourWidth: Any
    dashNegative: Any
    extraGridPadding: Any
    fillGrid: Any
    gridResolution: Any
    setScale: Any
    @classmethod
    def __init__(cls, *args, **kwargs) -> None: ...
    @classmethod
    def setColourMap(cls, RDKit, boost) -> Any: ...
    @classmethod
    def setContourColour(cls, RDKit, boost) -> Any: ...
    @classmethod
    def __reduce__(cls) -> Any: ...

class IntStringMap:
    __instance_size__: ClassVar[int] = ...
    @classmethod
    def __init__(cls, *args, **kwargs) -> None: ...
    @classmethod
    def __contains__(cls, other) -> Any: ...
    @classmethod
    def __delitem__(cls, other) -> Any: ...
    @classmethod
    def __getitem__(cls, index) -> Any: ...
    @classmethod
    def __iter__(cls) -> Any: ...
    @classmethod
    def __len__(cls) -> Any: ...
    @classmethod
    def __reduce__(cls) -> Any: ...
    @classmethod
    def __setitem__(cls, index, object) -> Any: ...

class MolDraw2D:
    @classmethod
    def __init__(cls, *args, **kwargs) -> None: ...
    @classmethod
    def ClearDrawing(cls, RDKit) -> Any: ...
    @classmethod
    def DrawArc(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def DrawArrow(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def DrawAttachmentLine(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def DrawEllipse(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def DrawLine(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def DrawMolecule(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def DrawMoleculeWithHighlights(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def DrawMolecules(cls, RDKit, boost) -> Any: ...
    @classmethod
    def DrawPolygon(cls, RDKit, boost) -> Any: ...
    @classmethod
    def DrawReaction(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def DrawRect(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def DrawString(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def DrawTriangle(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def DrawWavyLine(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def FillPolys(cls, RDKit) -> Any: ...
    @classmethod
    def FontSize(cls, RDKit) -> Any: ...
    @overload
    @classmethod
    def GetDrawCoords(cls, RDKit, RDGeom) -> Any: ...
    @overload
    @classmethod
    def GetDrawCoords(cls, RDKit, int) -> Any: ...
    @classmethod
    def Height(cls, RDKit) -> Any: ...
    @classmethod
    def LineWidth(cls, RDKit) -> Any: ...
    @classmethod
    def Offset(cls, RDKit) -> Any: ...
    @classmethod
    def SetColour(cls, RDKit, boost) -> Any: ...
    @classmethod
    def SetDrawOptions(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def SetFillPolys(cls, RDKit, bool) -> Any: ...
    @classmethod
    def SetFontSize(cls, RDKit, double) -> Any: ...
    @classmethod
    def SetLineWidth(cls, RDKit, int) -> Any: ...
    @classmethod
    def SetOffset(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def SetScale(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def Width(cls, RDKit) -> Any: ...
    @classmethod
    def drawOptions(cls, RDKit) -> Any: ...
    @classmethod
    def __reduce__(cls) -> Any: ...

class MolDraw2DCairo(MolDraw2D):
    __instance_size__: ClassVar[int] = ...
    @classmethod
    def __init__(cls, *args, **kwargs) -> None: ...
    @classmethod
    def FinishDrawing(cls, RDKit) -> Any: ...
    @classmethod
    def GetDrawingText(cls, RDKit) -> Any: ...
    @classmethod
    def WriteDrawingText(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def __reduce__(cls) -> Any: ...

class MolDraw2DSVG(MolDraw2D):
    __instance_size__: ClassVar[int] = ...
    @classmethod
    def __init__(cls, *args, **kwargs) -> None: ...
    @classmethod
    def AddMoleculeMetadata(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def FinishDrawing(cls, RDKit) -> Any: ...
    @classmethod
    def GetDrawingText(cls, RDKit) -> Any: ...
    @classmethod
    def TagAtoms(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def __reduce__(cls) -> Any: ...

class MolDrawOptions:
    __instance_size__: ClassVar[int] = ...
    addAtomIndices: Any
    addBondIndices: Any
    addStereoAnnotation: Any
    additionalAtomLabelPadding: Any
    annotationFontScale: Any
    atomHighlightsAreCircles: Any
    atomLabelDeuteriumTritium: Any
    atomLabels: Any
    atomRegions: Any
    baseFontSize: Any
    bondLineWidth: Any
    centreMoleculesBeforeDrawing: Any
    circleAtoms: Any
    clearBackground: Any
    comicMode: Any
    continuousHighlight: Any
    drawMolsSameScale: Any
    dummiesAreAttachments: Any
    dummyIsotopeLabels: Any
    explicitMethyl: Any
    fillHighlights: Any
    fixedBondLength: Any
    fixedFontSize: Any
    fixedScale: Any
    flagCloseContactsDist: Any
    fontFile: Any
    highlightBondWidthMultiplier: Any
    highlightRadius: Any
    includeAtomTags: Any
    includeChiralFlagLabel: Any
    includeMetadata: Any
    includeRadicals: Any
    isotopeLabels: Any
    legendFontSize: Any
    legendFraction: Any
    maxFontSize: Any
    minFontSize: Any
    multipleBondOffset: Any
    noAtomLabels: Any
    padding: Any
    prepareMolsBeforeDrawing: Any
    rotate: Any
    scaleBondWidth: Any
    scaleHighlightBondWidth: Any
    scalingFactor: Any
    simplifiedStereoGroupLabel: Any
    singleColourWedgeBonds: Any
    splitBonds: Any
    variableAtomRadius: Any
    variableBondWidthMultiplier: Any
    @classmethod
    def __init__(cls, *args, **kwargs) -> None: ...
    @classmethod
    def getAnnotationColour(cls, RDKit) -> Any: ...
    @classmethod
    def getBackgroundColour(cls, RDKit) -> Any: ...
    @classmethod
    def getHighlightColour(cls, RDKit) -> Any: ...
    @classmethod
    def getLegendColour(cls, RDKit) -> Any: ...
    @classmethod
    def getSymbolColour(cls, RDKit) -> Any: ...
    @classmethod
    def getVariableAttachmentColour(cls, RDKit) -> Any: ...
    @classmethod
    def setAnnotationColour(cls, RDKit, boost) -> Any: ...
    @classmethod
    def setAtomPalette(cls, RDKit, boost) -> Any: ...
    @classmethod
    def setBackgroundColour(cls, RDKit, boost) -> Any: ...
    @classmethod
    def setHighlightColour(cls, RDKit, boost) -> Any: ...
    @classmethod
    def setLegendColour(cls, RDKit, boost) -> Any: ...
    @classmethod
    def setSymbolColour(cls, RDKit, boost) -> Any: ...
    @classmethod
    def setVariableAttachmentColour(cls, RDKit, boost) -> Any: ...
    @classmethod
    def updateAtomPalette(cls, RDKit, boost) -> Any: ...
    @classmethod
    def useAvalonAtomPalette(cls, RDKit) -> Any: ...
    @classmethod
    def useBWAtomPalette(cls, RDKit) -> Any: ...
    @classmethod
    def useCDKAtomPalette(cls, RDKit) -> Any: ...
    @classmethod
    def useDefaultAtomPalette(cls, RDKit) -> Any: ...
    @classmethod
    def __reduce__(cls) -> Any: ...

class map_indexing_suite_IntStringMap_entry:
    __instance_size__: ClassVar[int] = ...
    @classmethod
    def __init__(cls, *args, **kwargs) -> None: ...
    @classmethod
    def data(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def key(cls, *args, **kwargs) -> Any: ...
    @classmethod
    def __reduce__(cls) -> Any: ...

def ContourAndDrawGaussians(*args, **kwargs) -> Any: ...
def ContourAndDrawGrid(*args, **kwargs) -> Any: ...
def MolToSVG(RDKit) -> Any: ...
def PrepareAndDrawMolecule(*args, **kwargs) -> Any: ...
def PrepareMolForDrawing(RDKit) -> Any: ...
@overload
def SetDarkMode(arg1: MolDrawOptions) -> Any: ...
@overload
def SetDarkMode(arg1: MolDraw2D) -> Any: ...
def SetMonochromeMode(*args, **kwargs) -> Any: ...
def UpdateDrawerParamsFromJSON(*args, **kwargs) -> Any: ...
