import { EconomicDependency } from './economicDependency';
/**
 * For indicating a dependency on discounting for a given currency.  E.g Valuing a Bond with the Discounting model will declare a DiscountingDependency  for the domestic currency of the bond to account for the time-value of the future cashFlows of the bond.
 */
export interface DiscountingDependency {
    /**
     * The currency that needs to be discounted.
     */
    currency: string;
    /**
     * The effectiveDate of the entity that this is a dependency for.  Unless there is an obvious date this should be, like for a historic reset, then this is the valuation date.
     */
    date: Date;
    /**
     * The available values are: Opaque, Cash, Discounting, EquityCurve, EquityVol, Fx, FxForwards, FxVol, IndexProjection, IrVol, Quote, Vendor
     */
    dependencyType: DiscountingDependency.DependencyTypeEnum;
}
export declare namespace DiscountingDependency {
    type DependencyTypeEnum = 'Opaque' | 'Cash' | 'Discounting' | 'EquityCurve' | 'EquityVol' | 'Fx' | 'FxForwards' | 'FxVol' | 'IndexProjection' | 'IrVol' | 'Quote' | 'Vendor';
    const DependencyTypeEnum: {
        Opaque: EconomicDependency.DependencyTypeEnum;
        Cash: EconomicDependency.DependencyTypeEnum;
        Discounting: EconomicDependency.DependencyTypeEnum;
        EquityCurve: EconomicDependency.DependencyTypeEnum;
        EquityVol: EconomicDependency.DependencyTypeEnum;
        Fx: EconomicDependency.DependencyTypeEnum;
        FxForwards: EconomicDependency.DependencyTypeEnum;
        FxVol: EconomicDependency.DependencyTypeEnum;
        IndexProjection: EconomicDependency.DependencyTypeEnum;
        IrVol: EconomicDependency.DependencyTypeEnum;
        Quote: EconomicDependency.DependencyTypeEnum;
        Vendor: EconomicDependency.DependencyTypeEnum;
    };
}
