# This file was generated by mypy stubgen and then hand-edited
# to match the contents of verovio.py. It should be kept up-to-date
# when methods are added to the toolkit.

from typing import Any

class _SwigNonDynamicMeta(type):
    def __setattr__(self, name: str, value: Any, /) -> None: ...

class toolkit:
    thisown: toolkit
    def __init__(self, initFont: bool = True) -> None: ...
    __swig_destroy__: None
    def getID(self) -> str: ...
    def getResourcePath(self) -> str: ...
    def setResourcePath(self, path: str) -> None: ...
    def getLog(self) -> str: ...
    def getVersion(self) -> str: ...
    def resetXmlIdSeed(self, seed: int) -> None: ...
    def loadFile(self, filename: str) -> bool: ...
    def loadData(self, data: str) -> bool: ...
    def loadZipDataBase64(self, data: str) -> bool: ...
    def loadZipDataBuffer(self, data: bytes, length: int) -> bool: ...
    def validatePAEFile(self, filename: str) -> dict: ...
    def validatePAE(self, data: str | dict) -> dict: ...
    def getPageCount(self) -> int: ...
    def getOptions(self) -> dict: ...
    def getDefaultOptions(self) -> dict: ...
    def getAvailableOptions(self) -> dict: ...
    def setOptions(self, json_options: dict) -> bool: ...
    def resetOptions(self) -> None: ...
    def getOptionUsageString(self) -> str: ...
    def setScale(self, scale: int) -> bool: ...
    def getScale(self) -> int: ...
    def setOutputTo(self, outputTo: str) -> bool: ...
    def select(self, selection: dict) -> bool: ...
    def edit(self, editor_action: dict) -> bool: ...
    def editInfo(self) -> dict: ...
    def renderData(self, data: str, options: dict) -> str: ...
    def renderToSVG(self, pageNo: int = 1, xmlDeclaration: bool = False) -> str: ...
    def renderToSVGFile(self, filename, pageNo: int = 1) -> bool: ...
    def renderToMIDI(self) -> str: ...
    def renderToMIDIFile(self, filename: str) -> bool: ...
    def renderToPAE(self) -> str: ...
    def renderToPAEFile(self, filename: str) -> bool: ...
    def renderToTimemap(self, options: dict | None = None) -> list: ...
    def renderToExpansionMap(self) -> list: ...
    def renderToTimemapFile(self, filename: str, options: dict | None = None) -> bool: ...
    def renderToExpansionMapFile(self, filename: str) -> bool: ...
    def convertMEIToHumdrum(self, meiData: str) -> str: ...
    def convertHumdrumToHumdrum(self, humdrumData: str) -> str: ...
    def convertHumdrumToMIDI(self, humdrumData: str) -> str: ...
    def getHumdrumFile(self, filename: str) -> bool: ...
    def getMEI(self, options: dict | None = None) -> str: ...
    def saveFile(self, filename: str, options: dict | None = None) -> bool: ...
    def getDescriptiveFeatures(self, options: dict | None = None) -> dict: ...
    def getElementsAtTime(self, millisec: int) -> dict: ...
    def getPageWithElement(self, xmlId: str) -> int: ...
    def getElementAttr(self, xmlId: str) -> dict: ...
    def getNotatedIdForElement(self, xmlId: str) -> str: ...
    def getExpansionIdsForElement(self, xmlId: str) -> dict: ...
    def getTimeForElement(self, xmlId: str) -> int: ...
    def getMIDIValuesForElement(self, xmlId: str) -> dict: ...
    def getTimesForElement(self, xmlId: str) -> dict: ...
    def redoLayout(self, options: dict | None = None) -> None: ...
    def redoPagePitchPosLayout(self) -> None: ...
    def setHumdrumBuffer(self, contents: bytes) -> None: ...
    def getHumdrumBuffer(self) -> bytes: ...
    def clearHumdrumBuffer(self) -> None: ...
    def setInputFrom(self, format: str) -> bool: ...
    def getInputFrom(self) -> int: ...
    def getOutputTo(self) -> int: ...
    def setLocale(self) -> None: ...
    def resetLocale(self) -> None: ...
    def initClock(self) -> None: ...
    def resetClock(self) -> None: ...
    def getRuntimeInSeconds(self) -> float: ...
    def logRuntime(self) -> None: ...

UNKNOWN: int
AUTO: int
MEI: int
HUMDRUM: int
HUMMEI: int
HUMMIDI: int
PAE: int
ABC: int
DARMS: int
VOLPIANO: int
MUSICXML: int
MUSICXMLHUM: int
MEIHUM: int
MUSEDATAHUM: int
ESAC: int
MIDI: int
TIMEMAP: int
EXPANSIONMAP: int
LOG_OFF: int
LOG_ERROR: int
LOG_WARNING: int
LOG_INFO: int
LOG_DEBUG: int

def setDefaultResourcePath(path: str) -> None: ...
def enableLog(level: int) -> None: ...
