import { EquivalentDrugWithDose } from '../model/equivalentDrugWithDose';
import { PrescriptionLine } from '../model/prescription-line';
import { EquivalentDrug } from '../model/equivalent-drug';
import { Dose } from '../model/dose';
import { Unit } from '../model/unit';
export declare function useDosesCombinationsService(): DosesCombinationsService;
declare class DosesCombinationsService {
    private readonly MAX_DECIMALS;
    buildDosesCombinations(equivalentDrugsDispensingUnits: Unit[], equivalentDrugs: EquivalentDrug[], prescriptionDoseInDispensingUnit: Dose | undefined): {
        [equivalentUri: string]: EquivalentDrugWithDose;
    }[];
    private addMonoUcdCombinationsWhenPossible;
    private removeKeysEqualToZero;
    private filterPossibleDoseEquivalentDrugCombinations;
    private countDecimals;
    generateDoseCombinations(dosePrescrite: number, equivalentDrugs: EquivalentDrugWithDose[], combinations: {
        [equivalentUri: string]: EquivalentDrugWithDose;
    }[], combination?: {
        [equivalentUri: string]: EquivalentDrugWithDose;
    }, index?: number): void;
    buildCombinationsForMultiComposables(prescriptionLine: PrescriptionLine, equivalentDrugs: EquivalentDrug[]): {
        [equivalentUri: string]: EquivalentDrugWithDose;
    }[];
    private isDosagePossible;
    generateCombinationsForMultiComposable(combinationsForMultiComposable: {
        [equivalentUri: string]: EquivalentDrugWithDose;
    }[], activePrinciplesAndEquivalents: EquivalentDrug[][], currentCombination?: {
        [equivalentUri: string]: EquivalentDrugWithDose;
    }, index?: number): void;
    private greatestCommonDivisor;
    private leastCommonMultiple;
    findCommonDenominator(fractions: string[]): number;
}
export {};
//# sourceMappingURL=doses-combinations-service.d.ts.map