import { IReelGameSessionReelsController } from "./reelscontroller/IReelGameSessionReelsController";
import { IReelGameSessionWinCalculator } from "./wincalculator/IReelGameSessionWinCalculator";
import { IReelGameWithFreeGamesSession } from "./IReelGameWithFreeGamesSession";
import { IReelGameWithFreeGamesSessionConfig } from "./IReelGameWithFreeGamesSessionConfig";
export declare class ReelGameWithFreeGamesSession implements IReelGameWithFreeGamesSession {
    private readonly _config;
    private readonly _reelsController;
    private readonly _winningCalculator;
    private readonly _adaptee;
    private _freeGamesNum;
    private _freeGamesSum;
    private _freeBank;
    constructor(config: IReelGameWithFreeGamesSessionConfig, reelsController: IReelGameSessionReelsController, winningCalculator: IReelGameSessionWinCalculator);
    getReelsItems(): string[][];
    getWinningLines(): {};
    getWinningScatters(): {};
    getPaytable(): {
        [p: string]: {
            [p: number]: number;
        };
    };
    getReelsItemsSequences(): string[][];
    getReelsItemsNumber(): number;
    getReelsNumber(): number;
    canPlayNextGame(): boolean;
    getAvailableBets(): number[];
    getBet(): number;
    getCreditsAmount(): number;
    setCreditsAmount(value: number): void;
    getWinningAmount(): number;
    isBetAvailable(bet: number): boolean;
    play(): void;
    getWonFreeGamesNumber(): number;
    setBet(bet: number): void;
    getFreeGameBank(): number;
    getFreeGameNum(): number;
    getFreeGameSum(): number;
    setFreeGameBank(value: number): void;
    setFreeGameNum(value: number): void;
    setFreeGameSum(value: number): void;
}
