export interface FixedDebt { id: string name: string amount: number dueDay: number category: 'housing' | 'services' | 'subscription' | 'other' isAutoDebit: boolean isPaid: boolean notes?: string } export interface VariableDebt { id: string name: string amount: number date: string category: 'shopping' | 'food' | 'entertainment' | 'health' | 'transport' | 'other' isPaid: boolean notes?: string } export interface CreditCard { id: string name: string lastFourDigits: string closingDay: number dueDay: number currentBalance: number creditLimit: number color: string } export interface CardPayment { id: string cardId: string amount: number date: string description: string installments?: { current: number total: number } } export interface MonthlyBudget { month: number year: number totalIncome: number fixedExpenses: number variableExpenses: number savingsGoal: number } export interface Alert { id: string type: 'PAYMENT_DUE' | 'BUDGET_WARNING' | 'CARD_CLOSING' | 'CARD_DUE' | 'SAVINGS_GOAL' | 'UNUSUAL_SPENDING' title: string message: string severity: 'info' | 'warning' | 'danger' date: string isRead: boolean relatedId?: string } export interface ServiceBill { id: string type: 'electricity' | 'water' | 'gas' | 'internet' amount: number usage?: number unit?: string date: string period: string // YYYY-MM isPaid: boolean notes?: string } export interface AppState { fixedDebts: FixedDebt[] variableDebts: VariableDebt[] creditCards: CreditCard[] cardPayments: CardPayment[] monthlyBudgets: MonthlyBudget[] serviceBills: ServiceBill[] alerts: Alert[] currentMonth: number currentYear: number } export interface AIServiceConfig { id: string name: string endpoint: string token: string model?: string } export interface AppSettings { telegram: { botToken: string chatId: string } aiProviders: AIServiceConfig[] }