UNPKG

financial-calc-br

Version:

Calculadora financeira brasileira com suporte a financiamentos, investimentos e cartão de crédito

64 lines (63 loc) 3.03 kB
import { ValidationResultUtils, CompoundInterestResult, RateConversion } from "../types/types"; /** * Formata valor numérico para moeda brasileira (BRL) * @param {number} valor - Valor numérico a ser formatado * @returns {string} Valor formatado em moeda brasileira (R$ 1.000,00) */ declare function formatMoney(valor: number): string; /** * Converte string de moeda para número * @param {number | string} valor - Valor em formato de moeda ou número * @returns {number} Valor numérico convertido */ declare function parseMoney(valor: number | string): number; /** * Converte taxa de juros entre diferentes períodos * @param {number} taxa - Taxa de juros a ser convertida * @param {RateConversion} de - Período de origem ("anual" ou "mensal") * @param {RateConversion} para - Período de destino ("anual" ou "mensal") * @returns {number} Taxa convertida para o período desejado */ declare function convertRate(taxa: number, de: RateConversion, para: RateConversion): number; /** * Calcula a alíquota do Imposto de Renda baseada no prazo * @param {number} dias - Número de dias do investimento * @returns {number} Alíquota do IR (15%, 17.5%, 20% ou 22.5%) */ declare function calcIRRate(dias: number): number; /** * Verifica se o valor é um número válido * @param {any} valor - Valor a ser validado * @returns {boolean} True se for um número válido, false caso contrário */ declare function isValidNumber(valor: any): valor is number; /** * Valida parâmetros financeiros básicos * @param {number} valor - Valor a ser validado (deve ser positivo) * @param {number} taxa - Taxa a ser validada (deve ser positiva ou zero) * @param {number} tempo - Tempo a ser validado (deve ser positivo) * @returns {ValidationResultUtils} Objeto com resultado da validação e lista de erros */ declare function validateFinancialParams(valor: number, taxa: number, tempo: number): ValidationResultUtils; /** * Formata período em meses para formato legível * @param {number} meses - Número de meses * @returns {string} Período formatado (ex: "2 anos e 3 meses") */ declare function formatPeriod(meses: number): string; /** * Calcula diferença percentual entre dois valores * @param {number} valor1 - Primeiro valor * @param {number} valor2 - Segundo valor (base para cálculo) * @returns {number} Diferença percentual entre os valores */ declare function calcPercentDifference(valor1: number, valor2: number): number; /** * Calcula juros compostos * @param {number} capital - Valor inicial do investimento * @param {number} taxaAnual - Taxa de juros anual (em percentual) * @param {number} anos - Período de investimento em anos * @returns {CompoundInterestResult} Objeto com resultado do cálculo de juros compostos */ declare function compoundInterest(capital: number, taxaAnual: number, anos: number): CompoundInterestResult; export { formatMoney, parseMoney, convertRate, calcIRRate, isValidNumber, validateFinancialParams, formatPeriod, calcPercentDifference, compoundInterest, };