"""
This type stub file was generated by pyright.
"""

from enum import Enum
from typing import NamedTuple, Self
from git import Diff
from watchfiles import Change

class ChangeType(Enum):
    Modified = ...
    Removed = ...
    Renamed = ...
    Added = ...
    @staticmethod
    def from_watch_change_type(change_type: Change): # -> Literal[ChangeType.Added, ChangeType.Removed, ChangeType.Modified]:
        ...
    
    @staticmethod
    def from_git_change_type(change_type: str | None): # -> Literal[ChangeType.Modified, ChangeType.Removed, ChangeType.Renamed, ChangeType.Added]:
        ...
    


class DiffLite(NamedTuple):
    """Simple diff for recomputing the graph"""
    change_type: ChangeType
    path: str
    rename_from: str | None = ...
    rename_to: str | None = ...
    @classmethod
    def from_watch_change(cls, change: Change, path: str) -> Self:
        ...
    
    @classmethod
    def from_git_diff(cls, git_diff: Diff): # -> Self:
        ...
    
    @classmethod
    def from_reverse_diff(cls, diff_lite: DiffLite): # -> Self:
        ...
    


