import { AssetReturn, PortfolioWeight, RiskContribution } from './types';
/**
 * Calculates the risk contribution of each asset in a portfolio based on historical returns, asset weights, and a specified window size.
 *
 * The function computes asset volatilities, the correlation matrix, portfolio volatility, and then derives
 * the marginal risk, component risk, and percentage contribution for each asset.
 * If insufficient data is provided, returns zeroed results for each asset.
 *
 * @param returns - Array of asset return objects, each representing a time period.
 * @param weights - Object mapping asset names to their portfolio weights.
 * @param returnColumns - Array of asset names to include in the calculation.
 * @param windowSize - Number of periods to use for calculations (default: 252).
 * @returns An object mapping each asset name to its risk contribution metrics:
 *   - volatility: Standard deviation of asset returns.
 *   - marginalRisk: Marginal risk contribution of the asset to the portfolio.
 *   - componentRisk: Component risk contribution (weight × marginal risk).
 *   - contributionPercent: Percentage contribution to total portfolio risk.
 */
export declare function calculateRiskContribution(returns: AssetReturn[], weights: PortfolioWeight, returnColumns: string[], windowSize?: number): RiskContribution;
//# sourceMappingURL=calculateRiskContribution.d.ts.map