import argparse
from _typeshed import Incomplete
from collections import deque
from collections.abc import Callable as Callable
from pydicom.cli.main import filespec_help as filespec_help, filespec_parser as filespec_parser
from pydicom.datadict import dictionary_keyword as dictionary_keyword
from pydicom.dataelem import DataElement as DataElement
from pydicom.dataset import Dataset as Dataset
from pydicom.tag import BaseTag as BaseTag
from pydicom.valuerep import AMBIGUOUS_VR as AMBIGUOUS_VR, BYTES_VR as BYTES_VR, VR as VR

line_term: str
first_cap_re: Incomplete
all_cap_re: Incomplete

def camel_to_underscore(name: str) -> str: ...
def tag_repr(tag: BaseTag) -> str: ...
def default_name_filter(name: str) -> str: ...
def code_imports() -> str: ...
def code_dataelem(dataelem: DataElement, dataset_name: str = 'ds', exclude_size: int | None = None, include_private: bool = False, var_names: deque | None = None) -> str: ...
def code_sequence(dataelem: DataElement, dataset_name: str = 'ds', exclude_size: int | None = None, include_private: bool = False, name_filter: Callable[[str], str] = ..., var_names: deque | None = None) -> str: ...
def code_dataset(ds: Dataset, dataset_name: str = 'ds', exclude_size: int | None = None, include_private: bool = False, is_file_meta: bool = False, var_names: deque | None = None) -> str: ...
def code_file(filename: str, exclude_size: int | None = None, include_private: bool = False) -> str: ...
def code_file_from_dataset(ds: Dataset, exclude_size: int | None = None, include_private: bool = False) -> str: ...
def set_parser_arguments(parser: argparse.ArgumentParser, default_exclude_size: int) -> None: ...
def do_codify(args: argparse.Namespace) -> None: ...
def main(default_exclude_size: int, args: list[str] | None = None) -> None: ...
