import { IChanceRatioMapGenerator } from './chance-ratio-map-generator.interface';
import { MovementChanceRatioMapType } from '../../shared/types/roulette/chance-ratio-map.type';
import { ExtendedMovementCharacter } from '../../shared/enums/movement-enums';
import { Movement } from '../movement/Movement';
import { MovementDefaultPercentageType } from '../../shared/types/roulette/movement-percentage.rb.type';
export interface IGetChanceRatioMapArgs {
    rbPercentage: MovementDefaultPercentageType;
    movements: Movement[];
}
export declare class MovementChanceRatioMapGenerator implements IChanceRatioMapGenerator<ExtendedMovementCharacter, MovementChanceRatioMapType> {
    /**
     * getChanceRatioMap
     * @param args
     * @param {Movement[]} args.movements массив движений
     * @param {MovementChanceRatioMapType} args.rbPercentage базовый список шансов на выпадение элемента в процентах
     */
    getChanceRatioMap(args: IGetChanceRatioMapArgs): MovementChanceRatioMapType;
    protected groupAndCountMovements(selection: Movement[]): Map<ExtendedMovementCharacter, number>;
    private calcChanceRatio;
    private getActualChanceRatioMap;
    private separatePercentByType;
    private redistributeChanceRatio;
}
