export interface Subscription { id: string; name: string; cost: number; billingCycle: 'monthly' | 'yearly' | 'weekly'; category: string; url?: string; createdAt: string; history: CostHistoryPoint[]; } export interface CostHistoryPoint { date: string; amount: number; } export interface Budget { monthlyLimit: number; alertThreshold: number; } export interface ForecastResult { nextMonthForecast: number; trendDirection: 'up' | 'down' | 'stable'; trendPercent: number; confidence: 'high' | 'medium' | 'low'; breakdown: CategoryBreakdown[]; alertTriggered: boolean; alertMessage?: string; } export interface CategoryBreakdown { category: string; currentSpend: number; forecastSpend: number; percentOfTotal: number; } export interface AppState { subscriptions: Subscription[]; budget: Budget; }