import { IGameSessionSimulationConfig } from "./IGameSessionSimulationConfig";
import { IGameSessionSimulation } from "./IGameSessionSimulation";
import { IGameSession } from "..";
import { IGameSessionSimulationModel } from "./IGameSessionSimulationModel";
export declare class GameSessionSimulation implements IGameSessionSimulation {
    beforePlayCallback?: () => void;
    afterPlayCallback?: () => void;
    onFinishedCallback?: () => void;
    private readonly _simulationModel;
    private readonly _config;
    private readonly _session;
    private readonly _numberOfRounds;
    private readonly _changeBetStrategy?;
    private _currentGameNumber;
    constructor(session: IGameSession, config: IGameSessionSimulationConfig, simulationModel?: IGameSessionSimulationModel);
    run(): void;
    getRtp(): number;
    getTotalBetAmount(): number;
    getTotalReturn(): number;
    getCurrentGameNumber(): number;
    getTotalGameToPlayNumber(): number;
    private setBetOnCantPlayNextBet;
    private onFinished;
    private canPlayNextGame;
    private setBetBeforePlay;
    private doPlay;
    private doBeforePlay;
    private doAfterPlay;
}
