from __future__ import annotations
from typing import Any, Protocol, runtime_checkable
from com.sun.star.uno import XInterface

@runtime_checkable
class XTransliteration(XInterface, Protocol):
    def getName(self) -> str: ...
    def getType(self) -> int: ...
    def loadModule(self, eModType: TransliterationModules, aLocale: Locale) -> None: ...
    def loadModuleNew(self, aModType: sequence <TransliterationModulesNew>, aLocale: Locale) -> None: ...
    def loadModuleByImplName(self, aImplName: str, aLocale: Locale) -> None: ...
    def loadModulesByImplNames(self, aImplNameList: sequence <string>, aLocale: Locale) -> None: ...
    def getAvailableModules(self, aLocale: Locale, nType: int) -> list[str]: ...
    def transliterate(self, aInStr: str, nStartPos: int, nCount: int, rOffset: sequence <long>) -> str: ...
    def folding(self, aInStr: str, nStartPos: int, nCount: int, rOffset: sequence <long>) -> str: ...
    def equals(self, aStr1: str, nPos1: int, nCount1: int, rMatch1: int, aStr2: str, nPos2: int, nCount2: int, rMatch2: int) -> bool: ...
    def transliterateRange(self, aStr1: str, aStr2: str) -> sequence <string>: ...
    def compareSubstring(self, aStr1: str, nOff1: int, nLen1: int, aStr2: str, nOff2: int, nLen2: int) -> int: ...
    def compareString(self, aStr1: str, aStr2: str) -> int: ...
