import { ResultadoSAC, ResultadoPRICE, Recomendacao, ResultadoComparacao, SimulacaoEntrada } from "../types/types";
declare class FinancingCalc {
    /**
     * Calcula financiamento usando o Sistema de Amortização Constante (SAC)
     * @param {number} valor - Valor total a ser financiado
     * @param {number} taxaAnual - Taxa de juros anual (em percentual)
     * @param {number} anos - Prazo do financiamento em anos
     * @returns {ResultadoSAC} Objeto com detalhes completos do financiamento SAC
     */
    financingSAC(valor: number, taxaAnual: number, anos: number): ResultadoSAC;
    /**
     * Calcula financiamento usando o Sistema Price (Tabela Price)
     * @param {number} valor - Valor total a ser financiado
     * @param {number} taxaAnual - Taxa de juros anual (em percentual)
     * @param {number} anos - Prazo do financiamento em anos
     * @returns {ResultadoPRICE} Objeto com detalhes completos do financiamento Price
     */
    financingPrice(valor: number, taxaAnual: number, anos: number): ResultadoPRICE;
    /**
     * Compara os sistemas de financiamento SAC e Price
     * @param {number} valor - Valor total a ser financiado
     * @param {number} taxaAnual - Taxa de juros anual (em percentual)
     * @param {number} anos - Prazo do financiamento em anos
     * @returns {ResultadoComparacao} Objeto com comparação detalhada entre SAC e Price
     */
    compareFinancing(valor: number, taxaAnual: number, anos: number): ResultadoComparacao;
    /**
     * Determina qual sistema de financiamento é mais recomendado
     * @param {number} sacJuros - Total de juros do sistema SAC
     * @param {number} priceJuros - Total de juros do sistema Price
     * @param {number} primeiraSAC - Valor da primeira parcela SAC
     * @param {number} parcelaPrice - Valor da parcela fixa Price
     * @returns {Recomendacao} Objeto com recomendação do melhor sistema
     */
    getRecommendation(sacJuros: number, priceJuros: number, primeiraSAC: number, parcelaPrice: number): Recomendacao;
    /**
     * Simula um financiamento com entrada (down payment)
     * @param {number} valorImovel - Valor total do imóvel
     * @param {number} entrada - Valor da entrada
     * @param {number} taxaAnual - Taxa de juros anual (em percentual)
     * @param {number} anos - Prazo do financiamento em anos
     * @returns {SimulacaoEntrada} Objeto com simulação completa incluindo entrada
     */
    simulateDownPayment(valorImovel: number, entrada: number, taxaAnual: number, anos: number): SimulacaoEntrada;
}
export default FinancingCalc;
