from _typeshed import Incomplete as Incomplete
from pathlib import Path
from rdetoolkit.interfaces.filechecker import IInputFileChecker as IInputFileChecker
from rdetoolkit.models.rde2types import RawFiles as RawFiles
from typing import Optional

class InvoiceChecker(IInputFileChecker):
    out_dir_temp: Incomplete
    def __init__(self, unpacked_dir_basename: Path) -> None: ...
    def parse(self, src_dir_input: Path) -> tuple[RawFiles, Optional[Path]]: ...

class ExcelInvoiceChecker(IInputFileChecker):
    out_dir_temp: Incomplete
    def __init__(self, unpacked_dir_basename: Path) -> None: ...
    def parse(self, src_dir_input: Path) -> tuple[RawFiles, Optional[Path]]: ...
    def get_index(self, paths, sort_items) -> None: ...

class RDEFormatChecker(IInputFileChecker):
    out_dir_temp: Incomplete
    def __init__(self, unpacked_dir_basename: Path) -> None: ...
    def parse(self, src_dir_input: Path) -> tuple[RawFiles, Optional[Path]]: ...

class MultiFileChecker(IInputFileChecker):
    out_dir_temp: Incomplete
    def __init__(self, unpacked_dir_basename: Path) -> None: ...
    def parse(self, src_dir_input: Path) -> tuple[RawFiles, Optional[Path]]: ...
