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

@runtime_checkable
class XCollator(XInterface, Protocol):
    def compareSubstring(self, aStr1: str, nOff1: int, nLen1: int, aStr2: str, nOff2: int, nLen2: int) -> int: ...
    def compareString(self, aStr1: str, aStr2: str) -> int: ...
    def loadDefaultCollator(self, aLocale: Locale, nCollatorOptions: int) -> int: ...
    def loadCollatorAlgorithm(self, aAlgorithmName: str, aLocale: Locale, nCollatorOptions: int) -> int: ...
    def listCollatorAlgorithms(self, aLocale: Locale) -> sequence <string>: ...
    def loadCollatorAlgorithmWithEndUserOption(self, aAlgorithmName: str, aLocale: Locale, aCollatorOptions: sequence<long>) -> None: ...
    def listCollatorOptions(self, aAlgorithmName: str) -> sequence <long>: ...
