import { Engine } from 'random-js';
import { NumericRange } from '../../individual/numeric/base';
export declare class Generator {
    static DEFAULT_ENGINE: Engine;
    static probabilityIsValid(probability: number): boolean;
    static generateProbability(engine?: Engine): number;
    static generateBoolean(chance?: number, engine?: Engine): boolean;
    static generateInteger(range?: NumericRange, engine?: Engine): number;
    static generateFloating(range?: NumericRange, engine?: Engine): number;
    static generateNormalDistributionValue(mean?: number, stdVar?: number, engine?: Engine): number;
    static generateNormalDistributionInteger(mean?: number, stdVar?: number, engine?: Engine): number;
    /**
     * This method is used due to an issue with
     * `random-js`. It does not accept `Number.Infinity` as
     *  the lowest or highest number, instead it expects
     *  `2 ** 53` as it maximum or `-2 ** 53` as its minimum.
     *  So the range must be normalized.
     * @param range that we want to normalize.
     * @return normalized range.
     */
    private static normalizeIntegerRange;
    private static checkProbability;
}
