/**
 * Gestion des messages de debogage dans la console
 * @note Implémenter cette interface pour toutes les classes à debugguer
 * Dans le constructeur, utiliser super(true) pour debugger la classe, super(false) sinon.
 */
export interface IDebug {
    readonly DBG: boolean;
    debug(s: any): void;
}
export declare class Debug {
    private _DBG;
    /**
     * @param _DBG Flag de débuggage
     */
    constructor(_DBG: boolean);
    /**
     * Affiche un message dans la console si le flag this.DBG est à true
     * @param s Message à afficher dans la console
     */
    debug(...args: any[]): void;
    get DBG(): boolean;
    set DBG(d: boolean);
}
/**
 * Méthode simulant l'opérateur booléen xor
 * @see http://www.howtocreate.co.uk/xor.html
 */
export declare function XOR(a: boolean, b: boolean): boolean;
/**
 * Méthode simulant l'opérateur booléen identité (vrai si a=b)
 */
export declare function BoolIdentity(a: boolean, b: boolean): boolean;
/**
 * arrondi d'un nombre avec une précision donnée
 * @param val nombre à arrondir
 * @param prec nombre de chiffres
 */
export declare function round(val: number, prec: number): number;
export declare function isNumeric(s: any): boolean;
/**
 * Retourne true si a et b sont égaux à e près (en gros)
 */
export declare function isEqual(a: number, b: number, e?: number): boolean;
/** Retourne true si a < b à e près */
export declare function isLowerThan(a: number, b: number, e?: number): boolean;
/** Retourne true si a > b à e près */
export declare function isGreaterThan(a: number, b: number, e?: number): boolean;
/**
 * Division entière de a par b, plus modulo, avec une tolérance e
 * pour gérer le cas des nombres réels
 */
export declare function floatDivAndMod(a: number, b: number, e?: number): {
    q: number;
    r: number;
};
/**
 * Formats (rounds) the given number (or the value of the given parameter) with the
 * number of decimals specified in app preferences; if given number is too low and
 * more decimals would be needed, keep as much significative digits as the number of
 * decimals specified in app preferences, except potential trailing zeroes;
 * returns "-" to point out an error if value is not a number or is undefined
 *
 * ex. with 3 decimals:
 * 1             => 1.000
 * 65431         => 65431.000
 * 0.002         => 0.002
 * 0.00004521684 => 0.0000452
 * 0.000001      => 0.000001
 * 5.00004521684 => 5.000
 * 5.000001      => 5.000
 */
export declare function formattedValue(value: number, nDigits: number): string;
export declare function capitalize(s: string): string;
//# sourceMappingURL=base.d.ts.map