import { AgeAnalysisItemInterface } from '../../interfaces/array-item-models/age-analysis-item.interface';
import { scoreAgeAnalysis } from './score-age-analysis';
import { ageFinancialTransactions } from './age-financial-transactions';
import { createDefaultsTable } from './helper-functions/create-defaults-table';
import { calculateCcfTermStructure } from './calculate-ccf-term-structure';
import { CalculateLgdTermStructureOutputModelInterface } from '../../interfaces/output-models/calculate-lgd-term-structure-output-model.interface';
import { ScoreAgeAnalysisInputModelInterface } from '../../interfaces/input-models/score-age-analysis-input-model.interface';
import { CreateDefaultsTableInputModelInterface } from '../../interfaces/input-models/create-defaults-table-input-model.interface';
import { CalculateLgdTermStructureInputModelInterface } from '../../interfaces/input-models/calculate-lgd-term-structure-input-model.interface';
import { calculateCohortMatrix } from './calculate-cohort-matrix';
import { calculateHazardRateMatrix } from './calculate-hazard-rate-matrix';
import { BaseOutputInterface } from '../../interfaces/output-models/base-output.interface';
import { MatrixBaseInputModelInterface } from '../../interfaces/common-models/matrix-base-input-model.interface';
declare type TCompositeLgdTermStructureInput = ScoreAgeAnalysisInputModelInterface<AgeAnalysisItemInterface> & Omit<CreateDefaultsTableInputModelInterface<AgeAnalysisItemInterface>, "ageAnalysis"> & Omit<CalculateLgdTermStructureInputModelInterface, "defaultsTable">;
declare type TCompositeMatrixInput = ScoreAgeAnalysisInputModelInterface<AgeAnalysisItemInterface> & Omit<MatrixBaseInputModelInterface, "absorbingStates">;
declare type TCompositeMatrixOutput = {
    cohortMatrix: number[][];
    migrationMatrix: number[][];
} & BaseOutputInterface;
export declare class HazardRateFacade {
    static ageFinancialTransactions: typeof ageFinancialTransactions;
    static scoreAgeAnalysis: typeof scoreAgeAnalysis;
    static calculateCcfTermStructure: typeof calculateCcfTermStructure;
    static createDefaultsTable: typeof createDefaultsTable;
    static calculateHazardRateMatrix: typeof calculateHazardRateMatrix;
    static calculateCohortMatrix: typeof calculateCohortMatrix;
    /**
     * ageAnalysis: AgeAnalysisItemInterface[]
     * scoringType: ScoringTableTypeEnums
     * scoringTable: ScoringTableItemInterface[]
     * absorbingStates: number
     * defaultsRating: number
     * trackDefaultEvents: TrackDefaultEventTypeEnums
     * interestRate: number
     */
    static calculateLgdTermStructure(input: TCompositeLgdTermStructureInput): Promise<CalculateLgdTermStructureOutputModelInterface>;
    /**
     * ageAnalysis: AgeAnalysisItemInterface[]
     * scoringType: ScoringTableTypeEnums
     * scoringTable: ScoringTableItemInterface[]
     * absorbingStates: number
     * maxRating: number
     * dataFrequencyScalar: number
     */
    static calculateAllMatrices(input: TCompositeMatrixInput): Promise<TCompositeMatrixOutput>;
    private static scoreAgeAnalysisIfNotAlreadyScored;
}
export {};
