magic: int

def compareFiles(f1: str, f2: str) -> None: ...
def tokenize(code: str) -> "TokenizedFile": ...

class Index:
    identifiers: list[int]
    names: list[str]
    index: dict[int, int]
    group: dict[int, list[int]]

    def __init__(self, k: int, w: int): ...
    def addToGroup(self, name: str, code: str) -> None: ...
    def matchExternal(self, code: str) -> list["Pair"]: ...
    def matchTokens(self, tokens: "TokenizedFile") -> list["Pair"]: ...
    def getPair(self) -> "Pair": ...
    def serialize(self) -> str: ...

    @staticmethod
    def deserialize(serialization: str) -> Index: ...

class Pair:
    left: int
    right: int
    covered: int
    leftTotal: int
    rightTotal: int

    def __repr__(self) -> str: ...

class TokenizedFile: ...
