import { Nub } from "../internal_modules";
import { Observer } from "../internal_modules";
import { Result } from "../internal_modules";
import { GrilleParams } from "../internal_modules";
export declare enum GrilleProfile {
    Rectangular = 0,
    Hydrodynamic = 1,
    Custom = 2
}
export declare enum GrilleType {
    Conventional = 0,
    Oriented = 1,
    Inclined = 2
}
export declare class Grille extends Nub implements Observer {
    /**
     * { symbol => string } map that defines units for extra results
     */
    private static _resultsUnits;
    constructor(prms: GrilleParams, dbg?: boolean);
    /**
     * paramètres castés au bon type
     */
    get prms(): GrilleParams;
    get gridType(): GrilleType;
    get gridProfile(): GrilleProfile;
    set type(type: GrilleType);
    set profile(profile: GrilleProfile);
    /** Coefficient de forme des barreaux a */
    get a(): number;
    /** Coefficient de forme des barreaux c */
    get c(): number;
    Calc(): Result;
    Equation(): Result;
    update(sender: any, data: any): void;
    protected updateBarsCoefficientsDisplay(): void;
    /**
     * paramétrage de la calculabilité des paramètres
     */
    protected setParametersCalculability(): void;
    static resultsUnits(): {
        H: string;
        HG: string;
        S: string;
        SPDG: string;
        VA: string;
        VAPDG: string;
        LG: string;
        D: string;
        DG: string;
        SG: string;
        VN: string;
        DH00: string;
        DH05: string;
        DH10: string;
        DH15: string;
        DH20: string;
        DH25: string;
        DH30: string;
        DH35: string;
        DH40: string;
        DH45: string;
        DH50: string;
        DH55: string;
        DH60: string;
    };
    protected exposeResults(): void;
    protected findCalculatedParameter(): any;
    protected doCalc(computedSymbol?: any, rInit?: number): Result;
    /**
     * Returns true if every "grid plan" parameter (2nd fieldset in NgHyd)
     * has a defined value; allows to perform 2nd calculation step
     */
    private get gridPlanParamsOK();
    /**
     * Returns true if every "grid" parameter (3rd fieldset in NgHyd)
     * has a defined value; allows to perform 3rd calculation step
     */
    private get gridParamsOK();
    /**
     * Perte de charge pour un taux de colmatage allant de 0 à 60% par pas de 5%.
     * @param r Result to complete with calculated DH values
     */
    private calcDH;
}
//# sourceMappingURL=grille.d.ts.map