# Standalone string-search + search-filter package. Stdlib-only at import
# time; heavy readers (pdfplumber, xlrd, ...) load lazily per file type.
from .constants import (
    MEDIA_TYPES,
    get_media_map,
    get_media_exts,
    derive_media_type,
    DEFAULT_ALLOWED_EXTS,
    DEFAULT_EXCLUDE_EXTS,
    DEFAULT_EXCLUDE_TYPES,
    DEFAULT_EXCLUDE_DIRS,
    DEFAULT_EXCLUDE_PATTERNS,
    CANONICAL_MAP,
)
from .filters import (
    ScanConfig,
    make_list,
    make_allowed_predicate,
    get_allowed_predicate,
    filter_allowed_items,
    define_defaults,
    ensure_directories,
    get_file_filters,
    get_files_and_dirs,
    get_globs,
    get_allowed_files,
    get_allowed_dirs,
    get_all_allowed_files,
    get_all_allowed_dirs,
    get_safe_kwargs,
    get_safe_canonical_kwargs,
    get_file_filter_kwargs,
)
from .reader import (
    ExtractedText,
    SearchHit,
    WalkConfig,
    DEFAULT_WALK,
    extract_text,
    iter_files,
    read_paths,
    read_span,
    search_files,
    read_any_file,
    read_file_as_text,
    read_directory,
    read_directory_many,
    read_files,
)
from .find_content import (
    findContent,
    findContentAndEdit,
    getPaths,
    find_lines,
    stringInContent,
    request_find_console_stop,
    reset_find_console_stop,
)
