"""
Synor Wallet SDK

A Python SDK for wallet management, key operations, and transaction signing
on the Synor blockchain.

Example:
    >>> from synor_wallet import SynorWallet
    >>> async with SynorWallet(api_key="sk_...") as wallet:
    ...     result = await wallet.create_wallet()
    ...     print(f"Address: {result.wallet.address}")
"""

from .client import SynorWallet, WalletError
from .types import (
    WalletConfig,
    Network,
    WalletType,
    Priority,
    Wallet,
    CreateWalletResult,
    StealthAddress,
    TransactionInput,
    TransactionOutput,
    Transaction,
    SignedTransaction,
    SignedMessage,
    UTXO,
    Balance,
    TokenBalance,
    BalanceResponse,
    FeeEstimate,
    GetUtxosOptions,
    ImportWalletOptions,
    BuildTransactionOptions,
)

__all__ = [
    # Client
    "SynorWallet",
    "WalletError",
    # Config
    "WalletConfig",
    # Enums
    "Network",
    "WalletType",
    "Priority",
    # Types
    "Wallet",
    "CreateWalletResult",
    "StealthAddress",
    "TransactionInput",
    "TransactionOutput",
    "Transaction",
    "SignedTransaction",
    "SignedMessage",
    "UTXO",
    "Balance",
    "TokenBalance",
    "BalanceResponse",
    "FeeEstimate",
    # Options
    "GetUtxosOptions",
    "ImportWalletOptions",
    "BuildTransactionOptions",
]

__version__ = "0.1.0"
