|
|
export interface FinancialData { |
|
|
income: { |
|
|
salary: number; |
|
|
extra: number; |
|
|
}; |
|
|
fixedExpenses: { |
|
|
housing: number; |
|
|
utilities: number; |
|
|
transport: number; |
|
|
food: number; |
|
|
telecom: number; |
|
|
otherFixed: number; |
|
|
}; |
|
|
lifestyleExpenses: { |
|
|
shopping: number; |
|
|
travel: number; |
|
|
subscriptions: number; |
|
|
otherLifestyle: number; |
|
|
}; |
|
|
debts: { |
|
|
creditCard: number; |
|
|
loans: number; |
|
|
otherDebt: number; |
|
|
}; |
|
|
goals: { |
|
|
emergencyFundTarget: number; |
|
|
shortTermGoal: string; |
|
|
shortTermGoalAmount: number; |
|
|
shortTermGoalMonths: number; |
|
|
reduceExpenseCategory: string; |
|
|
}; |
|
|
} |
|
|
|
|
|
export enum AppState { |
|
|
INPUT = 'INPUT', |
|
|
ANALYZING = 'ANALYZING', |
|
|
RESULT = 'RESULT', |
|
|
} |
|
|
|
|
|
export interface AnalysisResult { |
|
|
markdownResponse: string; |
|
|
calculatedStats: { |
|
|
totalIncome: number; |
|
|
totalFixed: number; |
|
|
totalLifestyle: number; |
|
|
totalDebt: number; |
|
|
totalExpenses: number; |
|
|
balance: number; |
|
|
savingsRate: number; |
|
|
}; |
|
|
} |