from pathlib import Path
from rdetoolkit.config import Config as Config
from rdetoolkit.interfaces.filechecker import IInputFileChecker as IInputFileChecker
from rdetoolkit.models.rde2types import RdeInputDirPaths as RdeInputDirPaths, RdeOutputResourcePath as RdeOutputResourcePath
from typing import Optional

def rdeformat_mode_process(srcpaths: RdeInputDirPaths, resource_paths: RdeOutputResourcePath, datasets_process_function: Optional[_CallbackType] = ..., config: Optional[Config] = ...): ...
def multifile_mode_process(srcpaths: RdeInputDirPaths, resource_paths: RdeOutputResourcePath, datasets_process_function: Optional[_CallbackType] = ..., config: Optional[Config] = ...): ...
def excel_invoice_mode_process(srcpaths: RdeInputDirPaths, resource_paths: RdeOutputResourcePath, excel_invoice_file: Path, idx: int, datasets_process_function: Optional[_CallbackType] = ..., config: Optional[Config] = ...): ...
def invoice_mode_process(srcpaths: RdeInputDirPaths, resource_paths: RdeOutputResourcePath, datasets_process_function: Optional[_CallbackType] = ..., config: Optional[Config] = ...): ...
def copy_input_to_rawfile_for_rdeformat(resource_paths: RdeOutputResourcePath): ...
def copy_input_to_rawfile(raw_dir_path: Path, raw_files: tuple[Path, ...]): ...
def selected_input_checker(src_paths: RdeInputDirPaths, unpacked_dir_path: Path, mode: Optional[str]) -> IInputFileChecker: ...
