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