"""ShortcutXL — Python helpers for the Excel XLL add-in.

Public API
----------
@xl_func          — decorator to register a function as an Excel UDF
xl_app()          — return the Excel Application COM object
run_managed(code) — compile + exec code on main thread with tracking + state management metadata
xl_batch(fn)      — run fn(app) on the main thread with ScreenUpdating off
schedule_call(fn) — schedule fn() on a background thread
xl_log(msg)       — append to %TEMP%\\shortcutxl.log
format_cell_diff  — format dirty cells into a human-readable summary

Workbook / Worksheet wrappers
-----------------------------
Workbook(wb)      — wrap a COM Workbook for high-level operations
Worksheet(ws)     — wrap a COM Worksheet for high-level operations

Helpers (pure functions, no COM)
--------------------------------
hex_to_bgr              — convert "#RRGGBB" to BGR int for COM
index_to_address, address_to_index, parse_range, range_to_excel, col_letter, col_index
"""

from shortcut_xl._com import xl_app as xl_app
from shortcut_xl._log import xl_log as xl_log
from shortcut_xl._managed import run_managed as run_managed
from shortcut_xl._managed import schedule_call as schedule_call
from shortcut_xl._managed import xl_batch as xl_batch
from shortcut_xl._registry import _registry as _registry
from shortcut_xl._registry import xl_func as xl_func
from shortcut_xl.api.format import format_cell_diff as format_cell_diff
from shortcut_xl.api.utils.helpers import (  # noqa: I001
    address_to_index as address_to_index,
)
from shortcut_xl.api.utils.helpers import (
    col_index as col_index,
)
from shortcut_xl.api.utils.helpers import (
    col_letter as col_letter,
)
from shortcut_xl.api.utils.helpers import (
    hex_to_bgr as hex_to_bgr,
)
from shortcut_xl.api.utils.helpers import (
    index_to_address as index_to_address,
)
from shortcut_xl.api.utils.helpers import (
    parse_range as parse_range,
)
from shortcut_xl.api.utils.helpers import (
    range_to_excel as range_to_excel,
)
from shortcut_xl.api.workbook import Workbook as Workbook
from shortcut_xl.api.worksheet import Worksheet as Worksheet
