"""
StateSet Embedded Commerce - Local-first commerce library

A native Rust commerce library with Python bindings for managing
customers, orders, products, inventory, and returns using SQLite.

Example:
    >>> from stateset_embedded import Commerce
    >>>
    >>> commerce = Commerce("./store.db")
    >>> customer = commerce.customers.create(
    ...     email="alice@example.com",
    ...     first_name="Alice",
    ...     last_name="Smith"
    ... )
    >>> print(customer.id)
"""

from stateset_embedded.stateset_embedded import (
    Commerce,
    Customers,
    Customer,
    Orders,
    Order,
    OrderItem,
    CreateOrderItemInput,
    Products,
    Product,
    ProductVariant,
    CreateProductVariantInput,
    Inventory,
    InventoryItem,
    StockLevel,
    Reservation,
    Returns,
    Return,
    CreateReturnItemInput,
)

__version__ = "0.1.0"

__all__ = [
    # Main entry point
    "Commerce",
    # Customers
    "Customers",
    "Customer",
    # Orders
    "Orders",
    "Order",
    "OrderItem",
    "CreateOrderItemInput",
    # Products
    "Products",
    "Product",
    "ProductVariant",
    "CreateProductVariantInput",
    # Inventory
    "Inventory",
    "InventoryItem",
    "StockLevel",
    "Reservation",
    # Returns
    "Returns",
    "Return",
    "CreateReturnItemInput",
    # Version
    "__version__",
]
