import { ParamDefinition } from "../internal_modules";
import { ParamsEquation } from "../internal_modules";
import { IObservable, Observer } from "../internal_modules";
/**
 * Y = f(X)
 * On cherche la valeur de X pour laquelle Y vaut Ytarget
 */
export declare class SolveurParams extends ParamsEquation implements IObservable {
    /** X : paramètre à faire varier par Dichotomie, dont la valeur sera reportée dans paramètre du Nub amont */
    private _X;
    /** Y : pseudo-paramètre à calculer, pour la dichotomie (déclenchera en fait le calcul du Nub aval) */
    private _Y;
    /** Xinit : valeur initiale de X */
    private _Xinit;
    /** Ytarget : valeur recherchée pour Y */
    private _Ytarget;
    /** implémentation de IObservable par délégation */
    private _observable;
    /**
     * Nub to calculate, targetted result and searched parameter must be set through
     * Solveur properties, or .nubToCalculate(), .targettedResult() and .searchedParameter() setters
     * @param rYtarget value we want to obtain for Y
     * @param rXinit initial value f searched parameter; will be overwritten as soon
     *               as Solveur's property "searchedParam" is updated
     */
    constructor(rYtarget?: number, rXinit?: number, nullParams?: boolean);
    get X(): ParamDefinition;
    setX(X: ParamDefinition): void;
    get Y(): ParamDefinition;
    get Xinit(): ParamDefinition;
    get Ytarget(): ParamDefinition;
    /**
     * ajoute un observateur à la liste
     */
    addObserver(o: Observer): void;
    /**
     * supprime un observateur de la liste
     */
    removeObserver(o: Observer): void;
    /**
     * notifie un événement aux observateurs
     */
    notifyObservers(data: any, sender?: any): void;
}
//# sourceMappingURL=solveur_params.d.ts.map