import { GameSessionHandling, LinesDefinitionsDescribing, LinesPatternsDescribing, PaytableRepresenting, SymbolsCombinationDescribing, SymbolsCombinationsGenerating, SymbolsSequenceDescribing, VideoSlotConfigRepresenting, VideoSlotSessionHandling, VideoSlotWinCalculating, WinningLineDescribing, WinningScatterDescribing } from "pokie";
export declare class VideoSlotSession implements VideoSlotSessionHandling {
    private readonly baseSession;
    private readonly config;
    private readonly combinationsGenerator;
    private readonly winCalculator;
    private winAmount;
    private symbolsCombination;
    constructor(config?: VideoSlotConfigRepresenting, combinationsGenerator?: SymbolsCombinationsGenerating, winCalculator?: VideoSlotWinCalculating, baseSession?: GameSessionHandling);
    getPaytable(): PaytableRepresenting;
    getSymbolsCombination(): SymbolsCombinationDescribing;
    getWinningLines(): Record<number, WinningLineDescribing>;
    getWinningScatters(): Record<string, WinningScatterDescribing>;
    getSymbolsSequences(): SymbolsSequenceDescribing[];
    getReelsSymbolsNumber(): number;
    getReelsNumber(): number;
    getAvailableSymbols(): string[];
    getCreditsAmount(): number;
    setCreditsAmount(creditsAmount: number): void;
    getWinAmount(): number;
    getLinesWinning(): number;
    getScattersWinning(): number;
    getAvailableBets(): number[];
    getBet(): number;
    setBet(bet: number): void;
    canPlayNextGame(): boolean;
    play(): void;
    isSymbolWild(symbolId: string): boolean;
    isSymbolScatter(symbolId: string): boolean;
    getWildSymbols(): string[];
    getScatterSymbols(): string[];
    getLinesDefinitions(): LinesDefinitionsDescribing;
    getLinesPatterns(): LinesPatternsDescribing;
}
