"""
Synor RPC SDK

A Python SDK for querying blocks, transactions, and chain state
on the Synor blockchain with WebSocket subscription support.

Example:
    >>> from synor_rpc import SynorRpc
    >>> async with SynorRpc(api_key="sk_...") as rpc:
    ...     block = await rpc.get_latest_block()
    ...     print(f"Height: {block.height}")
"""

from .client import SynorRpc, RpcError
from .types import (
    RpcConfig,
    Network,
    Priority,
    TransactionStatus,
    SubscriptionType,
    BlockHeader,
    Block,
    TxInput,
    TxOutput,
    Transaction,
    FeeEstimate,
    ChainInfo,
    MempoolInfo,
    UTXO,
    Subscription,
)

__all__ = [
    # Client
    "SynorRpc",
    "RpcError",
    # Config
    "RpcConfig",
    # Enums
    "Network",
    "Priority",
    "TransactionStatus",
    "SubscriptionType",
    # Types
    "BlockHeader",
    "Block",
    "TxInput",
    "TxOutput",
    "Transaction",
    "FeeEstimate",
    "ChainInfo",
    "MempoolInfo",
    "UTXO",
    "Subscription",
]

__version__ = "0.1.0"
