//
//  Exports.swift
//  CasinoKit
//
//  Re-exports all public types for convenient importing.
//

// This file ensures all public types are exported from the module.
// Clients can simply `import CasinoKit` to access all components.

// Re-export Sherpa for walkthrough functionality
@_exported import Sherpa

// MARK: - Models
// - Card, Suit, Rank
// - Deck
// - ChipDenomination
// - TableLimits
// - OnboardingState
// - GameSettingsProtocol (shared settings interface)
// - SettingsKeys, SettingsDefaults (persistence helpers)

// MARK: - Views
// - CardView, CardFrontView, CardBackView, CardPlaceholderView
// - DiamondPatternView
// - ChipView, ChipEdgePattern
// - ChipSelectorView
// - ChipStackView, ChipOnTableView
// - SheetContainerView, SheetSection
// - WelcomeSheet, WelcomeFeature
// - PulsingModifier

// MARK: - Walkthrough (via Sherpa)
// Re-exported from Sherpa package:
// - SherpaContainerView, SherpaConfiguration
// - SherpaTags, Callout, Sherpa, SherpaDelegate
// - .sherpaTag(), .sherpa() view modifiers

// MARK: - Effects
// - ConfettiView, ConfettiPiece

// MARK: - Overlays
// - GameOverView
// - CasinoResultBannerView (animated result banner with staggered animations)
// - ResultBreakdownCard (styled container for bet breakdown)
// - ResultItemRow (generic result row with icon, label, amount)

// MARK: - Table
// - TableBackgroundView, FeltPatternView

// MARK: - Bars
// - TopBarView

// MARK: - Badges
// - ValueBadge
// - ChipBadge

// MARK: - Hints
// - BettingHintView (shared betting recommendation view)
// - BettingHintStyle (positive, negative, neutral, streak, pattern, custom)

// MARK: - Buttons
// - ActionButton, ActionButtonStyle
// - BettingActionsView (Clear/Deal button pair for betting phase)

// MARK: - Zones
// - BettingZone

// MARK: - Cards (additional)
// - CardRenderer (PDF-based vector rendering for card faces)
// - CardHand, CardFan, CardsGrid (layout views)
// - HandDisplayView

// MARK: - Settings
// - SettingsToggle
// - SpeedPicker
// - VolumePicker
// - BalancePicker
// - SelectableRow (card-like selectable picker row)
// - SelectionIndicator (checkmark circle)
// - BadgePill (capsule badge for values)
// - DebugNavigationRow (debug row with navigation)
// - DebugActionRow (debug row with action)
// - BrandingDebugRows (icon generator + branding preview rows)


// MARK: - Branding
// - AppIconView, AppIconConfig
// - LaunchScreenView, LaunchScreenConfig, StaticLaunchScreenView
// - IconRenderer, IconExportView
// - IconGeneratorView, GeneratedIconInfo (development tool for exporting icons)
// - BrandingPreviewView (development tool for previewing all branding assets)

// MARK: - Theme
// - CasinoTheme (protocol)
// - DefaultCasinoTheme
// - ChipColorSet
// - CasinoDesign (constants)
// - Color.Sheet, Color.Button, Color.Modal, Color.Table, Color.TopBar (colors)

// MARK: - Audio
// - SoundManager
// - GameSound

// MARK: - Storage
// - CloudSyncManager
// - PersistableGameData (protocol)

// MARK: - Analytics
// - AnalyticsTracking (protocol)
// - AnalyticsEvent
// - AnalyticsValue
// - AnalyticsService
// - NoOpAnalyticsTracker

// MARK: - Sessions
// - GameSession<Stats> (generic session with game-specific stats)
// - GameSpecificStats (protocol for game-specific statistics)
// - SessionManagedGame (protocol for games with session management)
// - CasinoGameState (protocol extending SessionManagedGame with shared behaviors)
// - SessionEndReason (.manualEnd, .brokeOut)
// - RoundOutcome (.win, .lose, .push)
// - AggregatedSessionStats (combined stats from multiple sessions)
// - StatDisplayItem (for displaying game-specific stats)
// - SessionFormatter (formatting utilities)
// - EndSessionButton, EndSessionConfirmation (UI components)
// - CurrentSessionHeader, SessionSummaryRow (UI components)
// - GameStatRow (display a stat item)

// MARK: - Statistics Components
// - StatisticsTab (enum: current, global, history)
// - StatisticsTabSelector (tab picker for stats views)
// - StatColumn (vertical stat display)
// - OutcomeCircle (win/loss/push circles)
// - StatRow (horizontal stat with icon)
// - ChipStatRow (stat with colored circle icon)
// - NoActiveSessionView (placeholder)
// - EmptyHistoryView (placeholder)
// - SessionPerformanceSection (winning/losing sessions)
// - ChipsStatsSection (betting stats)
// - BalanceSection (starting/ending balance)
// - SessionDetailHeader (date, result, win rate)
// - DeleteSessionButton (destructive delete button)

// MARK: - Debug
// - debugBorder(_:color:label:) View modifier
