"""
NAS Sharing API Package
Handles Synology sharing link operations via Selenium.

Modules:
- session: Session management and credentials
- auth: Login and OTP authentication
- selenium_operations: File listing and download operations
"""

# Session management
from .session import (
    get_username_password,
    SharingSessionManager,
)

# Authentication
from .auth import (
    get_dsm_credentials,
    perform_login,
    detect_otp_modal,
    submit_otp_code,
    wait_for_login_success,
    is_logged_in,
)

# Selenium operations
from .selenium_operations import (
    get_file_list,
    encode_path_to_dlink,
    prepare_download_url,
    get_aria2_manager,
    get_initial_path,
    extract_sharing_id,
)

__all__ = [
    # Session
    'get_username_password',
    'SharingSessionManager',
    # Auth
    'get_dsm_credentials',
    'perform_login',
    'detect_otp_modal',
    'submit_otp_code',
    'wait_for_login_success',
    'is_logged_in',
    # Selenium operations
    'get_file_list',
    'encode_path_to_dlink',
    'prepare_download_url',
    'get_aria2_manager',
    'get_initial_path',
    'extract_sharing_id',
]
