import argparse
from py7zr.callbacks import ExtractCallback as ExtractCallback
from py7zr.compressor import SupportedMethods as SupportedMethods
from py7zr.helpers import Local as Local
from py7zr.properties import COMMAND_HELP_STRING as COMMAND_HELP_STRING
from typing import Any, Optional

class CliExtractCallback(ExtractCallback):
    ofd: Any = ...
    archive_total: Any = ...
    total_bytes: int = ...
    pwidth: int = ...
    def __init__(self, total_bytes: Any, ofd: Any = ...) -> None: ...
    def report_start_preparation(self) -> None: ...
    def report_start(self, processing_file_path: Any, processing_bytes: Any) -> None: ...
    def report_end(self, processing_file_path: Any, wrote_bytes: Any) -> None: ...
    def report_postprocess(self) -> None: ...
    def report_warning(self, message: Any) -> None: ...

class Cli:
    dunits: Any = ...
    parser: Any = ...
    unit_pattern: Any = ...
    def __init__(self) -> None: ...
    def run(self, arg: Optional[Any]=...) -> int: ...
    def show_version(self) -> None: ...
    def show_help(self, args: Any): ...
    def run_info(self, args: Any) -> None: ...
    def run_list(self, args: Any): ...
    @staticmethod
    def print_archiveinfo(archive: Any, file: Any) -> None: ...
    def run_test(self, args: Any): ...
    def run_extract(self, args: argparse.Namespace) -> int: ...
    def run_create(self, args: Any): ...
    def run_append(self, args: Any): ...
