export interface GammaMarket { id: string; question: string; slug: string; conditionId: string; outcomePrices: string; volume: number; volume24hr: number; active: boolean; closed: boolean; endDate: string; description: string; tags: string[]; } export interface GammaEvent { id: string; title: string; slug: string; markets: GammaMarket[]; volume: number; active: boolean; } export type MarketCategory = 'monetary_policy' | 'geopolitical' | 'economic' | 'crypto' | 'trade_policy' | 'other'; export interface MarketSignal { question: string; slug: string; yesPrice: number; noPrice: number; volume24hr: number; volume: number; category: MarketCategory; url: string; } export interface CompositeSignals { geopoliticalRisk: number; monetaryPolicyDovish: number; riskAppetite: number; } export interface SentimentSnapshot { timestamp: string; markets: Record; signals: MarketSignal[]; composites: CompositeSignals; marketCount: number; avgVolume24h: number; cachedAt?: string; }