financial-calcs
Version:
Reusable financial calculation library for FERS, Social Security, retirement savings, and mortgage amortization
40 lines • 1.48 kB
TypeScript
export interface RetirementSavingsInput {
startYear: number;
birthYear: number;
initialBalance: number;
initialContribution: number;
estimatedYield: number;
estimatedWithdrawRate: number;
contributionIncreaseRate: number;
withdrawStartAge: number;
yearsToProject: number;
yearOverrides?: RetirementSavingsYearOverrides;
}
export type RetirementSavingsYearOverrides = Record<number, RetirementSavingsOverride>;
export interface RetirementSavingsOverride {
contribution?: number;
yieldPercent?: number;
withdrawRate?: number;
annualWithdraw?: number;
endingBalance?: number;
}
export interface RetirementSavingsProjectionRow {
year: number;
age: number;
beginningBalance: number;
contribution: number;
yieldPercent: number;
withdrawRate: number;
monthlyWithdraw: number;
annualWithdraw: number;
endingBalance: number;
hasOverride?: boolean;
}
export interface RetirementSavingsValidationError {
field: keyof RetirementSavingsInput;
message: string;
}
export declare function validateRetirementSavingsInput(input: RetirementSavingsInput): RetirementSavingsValidationError[];
export declare function calculateRetirementSavingsProjection(input: RetirementSavingsInput): RetirementSavingsProjectionRow[];
export declare function calculateRetirementSavingsProjectionWithOverrides(input: RetirementSavingsInput): RetirementSavingsProjectionRow[];
//# sourceMappingURL=savings.d.ts.map