"""gaiia GraphQL API client.

Quick start:

    from gaiia import GaiiaClient

    with GaiiaClient(api_key="gaiia_sk_live_...") as g:
        result = g.query("{ technicians(first: 10) { nodes { id firstName lastName } } }")
"""

from gaiia.client import AsyncGaiiaClient, GaiiaClient
from gaiia.errors import (
    GaiiaAPIError,
    GaiiaError,
    GaiiaMutationError,
    GaiiaRateLimitedError,
    GaiiaTransportError,
)
from gaiia.globalid import decode_global_id, encode_global_id
from gaiia.ratelimit import RateLimitInfo
from gaiia.webhooks import (
    WebhookSignatureError,
    verify_webhook_signature,
)

__all__ = [
    "AsyncGaiiaClient",
    "GaiiaAPIError",
    "GaiiaClient",
    "GaiiaError",
    "GaiiaMutationError",
    "GaiiaRateLimitedError",
    "GaiiaTransportError",
    "RateLimitInfo",
    "WebhookSignatureError",
    "decode_global_id",
    "encode_global_id",
    "verify_webhook_signature",
]

__version__ = "0.1.0"
