export interface ITimeLine {
    years: number;
    months: number;
    monthsCF: number;
}
export interface IExportCacheFlow {
    operatingIncome: number;
    operatingExpenses: number;
    netOperatingIncome: number;
    bridgePayments: number;
    mortgagePayments: number;
    netOperatingCF: number;
    purchaseCAPEX: number;
    constructionCAPEX: number;
    divestmentCF: number;
    netInvestmentCF: number;
    purchaseLoanIN: number;
    refinancingLoanIN: number;
    purchaseAmortisation: number;
    refinanceAmortisation: number;
    purchaseLoanOut: number;
    refinancingLoanOut: number;
    equityContribution: number;
    newFinancingCF: number;
    totalNetCF: number;
}
export interface IAssetsBuiltUp {
    purchase: number;
    constructionValue: number;
}
export interface IAssetsBalanceSheet {
    assetValue: number;
    cash: number;
    totalAsset: number;
}
export interface IEquity {
    atPurchase: number;
    otherValue: number;
    totalEquity: number;
}
export interface ILiabilities {
    purchaseLoan: number;
    refinancingLoan: number;
    equityAndLiabilities: number;
}
export interface IPropertyIncome {
    grossRent: number;
    vacancyLoss: number;
    operatingIncome: number;
    operatingExpenses: number;
    netOperatingIncome: number;
    mortgagePayments: number;
    cashFlow: number;
}
export interface IPropertyRatios {
    capRatePurchase: number;
    capRateMarketValue: number;
}
export interface IPropertyOverview {
    marketValue: number;
    loanBalance: number;
    propertyEquity: number;
    loanToValueProperty: number;
    moneyInvested: number;
    moneyLeftInTheDeal: number;
}
export interface ISalesAnalysis {
    equity: number;
    sellingCosts: number;
    proceedsAfterSale: number;
    cashBalance: number;
    totalCashBack: number;
}
export interface ICompanyPL {
    revenue: number;
    OPEX: number;
    NOI: number;
    interestPayments: number;
    EBT: number;
    TAX: number;
    netProfit: number;
}
export interface ICompanyBS {
    assetValue: number;
    cash: number;
    totalAssets: number;
    totalEquity: number;
    atPurchase: number;
    equityAndLiability: number;
}
export interface IOverviewCF {
    netProfit: number;
    amortization: number;
    netLoanChange: number;
    capex: number;
    netCF: number;
}
export interface IOverviewCFDetailed {
    netOperatingCF: number;
    CAPEX: number;
    divestment: number;
    netInvestmentCF: number;
    equityContribution: number;
    newLoans: number;
    loanRepayment: number;
    netFinancingActivities: number;
    netCF: number;
    equityRatio: number;
    cashOnCashReturn: number;
    returnOnEquity: number;
}
export interface ILTGeneralPeriodicRow<T> {
    monthly: T;
    annual: T;
}
export interface ILTGeneralOperationRow<T> {
    purchase: T;
    refinance: T;
}
export interface ILTGeneralValues {
    summary: {
        initialMarketValue: ILTGeneralOperationRow<number>;
        purchasePrice: number;
        purchaseCost: number;
        developmentCosts: number;
        financialCosts: number;
        firstMortgage: ILTGeneralOperationRow<number>;
        purchaseLoan: number;
        developmentLoan: number;
        totalOwnCapitalNeeded: ILTGeneralOperationRow<number>;
        totalMoneyNeeded: number;
        initialImprovements: number;
        initialCashNeeded: number;
        squareFt: number;
        purchasePerSquareFt: number;
        netRentPerSqFtYear: number;
        projectTimelineMonths: number;
    };
    mortgages: {
        loanToCostRatio: ILTGeneralOperationRow<number>;
        loanToValueRatio: ILTGeneralOperationRow<number>;
        loanAmount: ILTGeneralOperationRow<number>;
        termMonths: ILTGeneralOperationRow<number>;
        developmentCost: number;
        developmentCostMonth: number;
        interestRate: ILTGeneralOperationRow<number>;
        loanPayment: ILTGeneralOperationRow<number>;
    };
    mortgagesDetailed: {
        loanType: ILTGeneralOperationRow<string>;
        termYears: ILTGeneralOperationRow<number>;
        payment: ILTGeneralOperationRow<number>;
        loanAmount: ILTGeneralOperationRow<number>;
        interestRate: ILTGeneralOperationRow<number>;
    };
    income: {
        grossRent: ILTGeneralPeriodicRow<number>;
        vacancyLoss: ILTGeneralPeriodicRow<number>;
        operatingIncome: ILTGeneralPeriodicRow<number>;
    };
    expenses: {
        managementFees: ILTGeneralPeriodicRow<number>;
        majorOperatingExpenses: ILTGeneralPeriodicRow<number>;
    };
    netPerformance: {
        netOperatingIncome: ILTGeneralPeriodicRow<number>;
        mortgagePayments: ILTGeneralPeriodicRow<number>;
        cashFlow: ILTGeneralPeriodicRow<number>;
    };
    assumptions: {
        appreciationRate: number;
        incomeInflationRate: number;
        expenseInflationRate: number;
        salesCosts: number;
        propertySaleYear: number;
    };
    loanOptions: {
        typeOfLoan: string;
        typeOfFinancing: string;
        loanPaymentFrequency: string;
    };
}
export interface ILongTerm {
    timeLine: ITimeLine[];
    exportCacheFlow: IExportCacheFlow[];
    assetsBuiltUp: IAssetsBuiltUp[];
    assetsBalanceSheet: IAssetsBalanceSheet[];
    equity: IEquity[];
    liabilities: ILiabilities[];
    propertyIncome: IPropertyIncome[];
    propertyRatios: IPropertyRatios[];
    propertyOverview: IPropertyOverview[];
    salesAnalysis: ISalesAnalysis[];
    companyPL: ICompanyPL[];
    companyBS: ICompanyBS[];
    overviewCF: IOverviewCF[];
    overviewCFDetailed: IOverviewCFDetailed[];
    general: ILTGeneralValues;
}
