import { ParallelStructure } from "../internal_modules";
export declare enum StructureType {
    SeuilRectangulaire = 0,
    VanneFondRectangulaire = 1,
    Orifice = 2,
    SeuilTriangulaire = 3,
    SeuilTriangulaireTrunc = 4,
    SeuilOrificeRectangulaire = 5
}
export declare enum LoiDebit {
    GateCem88d = 0,
    GateCem88v = 1,
    WeirCem88d = 2,
    WeirCem88v = 3,
    GateCunge80 = 4,
    RectangularOrificeFree = 5,
    RectangularOrificeSubmerged = 6,
    WeirFree = 7,
    KIVI = 8,
    TriangularWeirFree = 9,
    TriangularTruncWeirFree = 10,
    WeirSubmergedLarinier = 11,
    WeirSubmerged = 12,
    OrificeSubmerged = 13,
    OrificeFree = 14,
    WeirVillemonte = 15,
    VanLevLarinier = 16,
    VanLevVillemonte = 17,
    WeirCunge80 = 18,
    TriangularWeirBroad = 19
}
export declare const loiAdmissiblesOuvrages: {
    [key: string]: LoiDebit[];
};
export declare const loiAdmissiblesCloisons: {
    [key: string]: LoiDebit[];
};
export declare const loiAdmissiblesDever: {
    [key: string]: LoiDebit[];
};
export declare const loiAdmissiblesCloisonAval: {
    [key: string]: LoiDebit[];
};
export declare class StructureProperties {
    /**
     * @return true si les valeurs de StructureType et LoiDebit sont compatibles
     */
    static isCompatibleValues(struct: StructureType, loi: LoiDebit, parentNub: ParallelStructure): boolean;
    /**
     * @return la 1ère valeur de StructureType compatible avec la loi de débit, dans le contexte
     * du module de calcul parentNub @TODO la 1ère ? normalement il n'y en a qu'une !
     */
    static findCompatibleStructure(loi: LoiDebit, parentNub: ParallelStructure): StructureType;
    /**
     * trouve la 1ère valeur de LoiDebit compatible avec le type de structure
     * @param struct type de structure avec laquelle la loi de débit doit être compatible
     * @param subset si non vide, recherche la loi de débit compatible dans ce tableau; sinon prend la 1ere
     */
    static findCompatibleLoiDebit(struct: StructureType, subset: LoiDebit[], parentNub: ParallelStructure): LoiDebit;
}
//# sourceMappingURL=structure_props.d.ts.map