"""FlipCoin Python SDK — prediction markets on Base."""

from .async_client import AsyncFlipCoin
from .client import FlipCoin
from .models import (
    AgentInfo,
    AgentMarketsListResponse,
    ApprovalDetail,
    ApprovalStatus,
    AuditLogEntry,
    AuditLogResponse,
    AutoSignLimits,
    BalanceCheck,
    BatchItemResult,
    BatchResult,
    BatchSummary,
    Capabilities,
    CategoryPerf,
    ClobQuote,
    Comment,
    CommentDetail,
    CommentsListResponse,
    ClobConfig,
    ConfigResponse,
    Contracts,
    CreateCommentResponse,
    CreateMarketResult,
    DailyMarkets,
    DepositResult,
    DuplicateCheck,
    EarlyAdopterInfo,
    ExploreResponse,
    FeedEvent,
    FeedResponse,
    FeeInfo,
    FeesConfig,
    Fill,
    FinalizeResolutionResult,
    FlipCoinError,
    HistoryPoint,
    LeaderboardEntry,
    LeaderboardResponse,
    LimitsInfo,
    LmsrConfig,
    LmsrInfo,
    LmsrQuote,
    Market,
    MarketAnalytics,
    MarketDetailsResponse,
    MarketHistoryResponse,
    MarketPerf,
    MarketState,
    MarketStats,
    Order,
    OrderCancelResponse,
    OrderIntentResponse,
    OrderListResponse,
    OrderResult,
    Pagination,
    PerformanceResponse,
    PingResponse,
    PortfolioResponse,
    PortfolioTotals,
    Position,
    PriceImpactGuard,
    ProposeResolutionResult,
    Quote,
    RateLimitBucket,
    RateLimitInfo,
    RecentDeposit,
    RecentWithdrawal,
    RedeemBatchResponse,
    RedeemPosition,
    ResolutionInfo,
    SSEEvent,
    SeedSubsidyInfo,
    SimilarMarket,
    SlippageCurveEntry,
    SplitLeg,
    SplitLegs,
    Trade,
    TradeHistoryEntry,
    TradeHistoryResponse,
    TradeIntentResponse,
    TradeNonceResponse,
    TradeQuote,
    TradeResult,
    TradingConfig,
    TradingRateLimit,
    UnitsConfig,
    ValidatePreview,
    ValidateResult,
    ValidationIssue,
    VaultBalanceResponse,
    VaultAutoSignConfig,
    VaultConfig,
    VolumeBySource,
    CreatorStats,
    ActivityStats,
    Webhook,
    WebhookCreateResult,
    WithdrawBalanceResponse,
    WithdrawResult,
)
from .utils import idempotency_key, raw_to_usdc, usdc_to_raw

__version__ = "0.5.0"

__all__ = [
    # Clients
    "FlipCoin",
    "AsyncFlipCoin",
    # Error
    "FlipCoinError",
    # Helpers
    "usdc_to_raw",
    "raw_to_usdc",
    "idempotency_key",
    # Models
    "AgentInfo",
    "AgentMarketsListResponse",
    "ApprovalDetail",
    "ApprovalStatus",
    "AuditLogEntry",
    "AuditLogResponse",
    "AutoSignLimits",
    "BalanceCheck",
    "BatchItemResult",
    "BatchResult",
    "BatchSummary",
    "Capabilities",
    "CategoryPerf",
    "ClobQuote",
    "Comment",
    "CommentDetail",
    "CommentsListResponse",
    "ClobConfig",
    "ConfigResponse",
    "Contracts",
    "CreateCommentResponse",
    "CreateMarketResult",
    "DailyMarkets",
    "DepositResult",
    "DuplicateCheck",
    "EarlyAdopterInfo",
    "ExploreResponse",
    "FeedEvent",
    "FeedResponse",
    "FeeInfo",
    "FeesConfig",
    "Fill",
    "FinalizeResolutionResult",
    "HistoryPoint",
    "LeaderboardEntry",
    "LeaderboardResponse",
    "LimitsInfo",
    "LmsrConfig",
    "LmsrInfo",
    "LmsrQuote",
    "Market",
    "MarketAnalytics",
    "MarketDetailsResponse",
    "MarketHistoryResponse",
    "MarketPerf",
    "MarketState",
    "MarketStats",
    "Order",
    "OrderCancelResponse",
    "OrderIntentResponse",
    "OrderListResponse",
    "OrderResult",
    "Pagination",
    "PerformanceResponse",
    "PingResponse",
    "PortfolioResponse",
    "PortfolioTotals",
    "Position",
    "PriceImpactGuard",
    "ProposeResolutionResult",
    "Quote",
    "RateLimitBucket",
    "RateLimitInfo",
    "RecentDeposit",
    "RecentWithdrawal",
    "RedeemBatchResponse",
    "RedeemPosition",
    "ResolutionInfo",
    "SSEEvent",
    "SeedSubsidyInfo",
    "SimilarMarket",
    "SlippageCurveEntry",
    "SplitLeg",
    "SplitLegs",
    "Trade",
    "TradeHistoryEntry",
    "TradeHistoryResponse",
    "TradeIntentResponse",
    "TradeNonceResponse",
    "TradeQuote",
    "TradeResult",
    "TradingConfig",
    "TradingRateLimit",
    "UnitsConfig",
    "ValidatePreview",
    "ValidateResult",
    "ValidationIssue",
    "VaultBalanceResponse",
    "VaultAutoSignConfig",
    "VaultConfig",
    "VolumeBySource",
    "CreatorStats",
    "ActivityStats",
    "Webhook",
    "WebhookCreateResult",
    "WithdrawBalanceResponse",
    "WithdrawResult",
]
