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
TypeScript
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, };