saldo
Version:
Portuguese salary calculator library
46 lines • 1.8 kB
TypeScript
import { LocationT, SituationCodesT, PeriodT } from "../config/schemas";
interface TaxBracketData {
signal: "max" | "min";
limit: number;
max_marginal_rate: number;
deduction: number;
var1_deduction: number;
var2_deduction: number;
dependent_aditional_deduction: number;
effective_mensal_rate: number;
}
declare class TaxBracket {
signal: "max" | "min";
limit: number;
max_marginal_rate: number;
deduction: number;
var1_deduction: number;
var2_deduction: number;
dependent_aditional_deduction: number;
effective_mensal_rate: number;
constructor(data: TaxBracketData);
calculate_deductible(salary: number): number;
calculate_tax(taxable_income: number, twelfths_income: number, number_of_dependents?: number, extra_deduction?: number): number;
toJSON(): TaxBracketData;
}
interface TaxRetentionTableJsonData {
situation: string;
description: string;
brackets: TaxBracketData[];
dependent_disabled_addition_deduction?: number;
}
declare class TaxRetentionTable {
region: string;
situation: string;
description: string;
tax_brackets: TaxBracket[];
dependent_disabled_addition_deduction?: number;
constructor(region: string, situation: string, description: string, tax_brackets_data: TaxBracketData[], // Accepts raw data for brackets
dependent_disabled_addition_deduction?: number);
find_bracket(salary: number): TaxBracket;
static from_data(region: string, data: TaxRetentionTableJsonData): TaxRetentionTable;
static load(period: PeriodT, location: LocationT, situation_code: SituationCodesT, year: number | string): TaxRetentionTable;
toJSON(): TaxRetentionTableJsonData;
}
export { TaxBracket, TaxRetentionTable };
//# sourceMappingURL=tax-retention.d.ts.map