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

import os
from typing import TYPE_CHECKING
from collections.abc import Iterable

"""Utility function and classes for Sphinx projects."""
if TYPE_CHECKING:
    ...
logger = ...
EXCLUDE_PATHS = ...
class Project:
    """A project is the source code set of the Sphinx document(s)."""
    def __init__(self, srcdir: str | os.PathLike[str], source_suffix: Iterable[str]) -> None:
        ...
    
    def restore(self, other: Project) -> None:
        """Take over a result of last build."""
        ...
    
    def discover(self, exclude_paths: Iterable[str] = ..., include_paths: Iterable[str] = ...) -> set[str]:
        """Find all document files in the source directory and put them in
        :attr:`docnames`.
        """
        ...
    
    def path2doc(self, filename: str | os.PathLike[str]) -> str | None:
        """Return the docname for the filename if the file is a document.

        *filename* should be absolute or relative to the source directory.
        """
        ...
    
    def doc2path(self, docname: str, absolute: bool) -> str:
        """Return the filename for the document name.

        If *absolute* is True, return as an absolute path.
        Else, return as a relative path to the source directory.
        """
        ...
    


