from typing import Any

def indent(s: Any, margin: Any): ...

class DocstringBuilder:
    DOC_WIDTH: int = ...
    cmdName: Any = ...
    cmdInfo: Any = ...
    indentation: Any = ...
    def __init__(self, cmdName: Any, indentation: str = ...) -> None: ...
    def startFlagSection(self) -> None: ...
    def indent(self, lines: Any): ...
    def addFlag(self, flag: Any, typ: Any, shortname: Any, descr: Any, modes: Any) -> None: ...
    def addFooter(self): ...
    def getTypeIdentifier(self, typ: Any): ...
    def build(self, docstring: str) -> str: ...

class RstDocstringBuilder(DocstringBuilder):
    widths: Any = ...
    altwidths: Any = ...
    rowsep: Any = ...
    headersep: Any = ...
    @staticmethod
    def section(title: Any): ...
    @staticmethod
    def makerow(items: Any, widths: Any): ...
    def startFlagSection(self): ...
    def addFlag(self, flag: Any, typ: Any, shortname: Any, descr: Any, modes: Any): ...
    def addFooter(self): ...

class NumpyDocstringBuilder(DocstringBuilder):
    DOC_WIDTH: int = ...
    @staticmethod
    def section(title: Any): ...
    def startFlagSection(self): ...
    def getTypeIdentifier(self, typ: Any): ...
    def addFlag(self, flag: Any, typ: Any, shortname: Any, descr: Any, modes: Any): ...

class PyDocstringBuilder(DocstringBuilder):
    DOC_WIDTH: int = ...
    @staticmethod
    def section(title: Any): ...
    def startFlagSection(self): ...
    def addFlag(self, flag: Any, typ: Any, shortname: Any, descr: Any, modes: Any): ...
