import { ResultadoCDB, ResultadoTesouroSelic, ResultadoPoupanca, SimulacaoAportes, ResultadoComparacaoInvestment } from "../types/types";
import RatesManager from "../services/rates";
declare class InvestmentCalc {
    private rates;
    constructor(rates: RatesManager);
    static create(): Promise<InvestmentCalc>;
    /**
     * Calcula rendimento da poupança
     * @param {number} valor - Valor inicial do investimento
     * @param {number} meses - Período de investimento em meses
     * @returns {ResultadoPoupanca} Objeto com detalhes do rendimento da poupança
     */
    investmentPoupanca(valor: number, meses: number): ResultadoPoupanca;
    /**
     * Calcula rendimento do Tesouro Selic
     * @param {number} valor - Valor inicial do investimento
     * @param {number} meses - Período de investimento em meses
     * @returns {ResultadoTesouroSelic} Objeto com detalhes do rendimento do Tesouro Selic
     */
    investmentTesouroSelic(valor: number, meses: number): ResultadoTesouroSelic;
    /**
     * Calcula rendimento do CDB (Certificado de Depósito Bancário)
     * @param {number} valor - Valor inicial do investimento
     * @param {number} meses - Período de investimento em meses
     * @param {number} percentualCDI - Percentual do CDI pago pelo CDB (padrão: 100%)
     * @returns {ResultadoCDB} Objeto com detalhes do rendimento do CDB
     */
    investmentCDB(valor: number, meses: number, percentualCDI?: number): ResultadoCDB;
    /**
     * Compara diferentes opções de investimento
     * @param {number} valor - Valor inicial do investimento
     * @param {number} meses - Período de investimento em meses
     * @param {number[]} opcoes - Array com percentuais de CDI para comparação (padrão: [100, 110, 120])
     * @returns {ResultadoComparacaoInvestment} Objeto com comparação detalhada entre investimentos
     */
    compareInvestments(valor: number, meses: number, opcoes?: number[]): ResultadoComparacaoInvestment;
    /**
     * Simula investimento com aportes mensais
     * @param {number} valorInicial - Valor inicial do investimento
     * @param {number} aporteMensal - Valor do aporte mensal
     * @param {number} meses - Período total de investimento em meses
     * @param {number} taxaAnual - Taxa de juros anual (em percentual)
     * @param {boolean} temIR - Indica se há incidência de Imposto de Renda (padrão: true)
     * @returns {SimulacaoAportes} Objeto com simulação completa dos aportes mensais
     */
    simulateMonthlyContributions(valorInicial: number, aporteMensal: number, meses: number, taxaAnual: number, temIR?: boolean): SimulacaoAportes;
}
export default InvestmentCalc;
