"""
Type definitions for pycredoai.

This module provides common type definitions and utilities used throughout the SDK.
"""

from typing import Any, Dict, List, TypeVar, Union

import httpx
from pydantic import BaseModel

# Type variables for generic clients
T = TypeVar("T", bound=BaseModel)

# Common type aliases
JsonDict = Dict[str, Any]
Headers = Dict[str, str]
Params = Dict[str, Any]

# Response types
ResponseType = Union[httpx.Response, BaseModel, JsonDict, List[Any], Any]
