type GetOptimalTurnProps = {
    gameField: FieldCellType[];
    boardSize?: number;
    playerSymbol: PlayerSymbolType;
};
type FieldCellType = 'O' | 'X' | null;
type PlayerSymbolType = 'O' | 'X';
type AlphaBetaProps = {
    gameField: FieldCellType[];
    depth: number;
    isMaximizing: boolean;
    winnerArray: number[][];
    alpha: number;
    beta: number;
    playerSymbol: PlayerSymbolType;
};

declare function getOptimalTurn({ boardSize, gameField, playerSymbol }: GetOptimalTurnProps): number;

export { type AlphaBetaProps, type FieldCellType, type GetOptimalTurnProps, type PlayerSymbolType, getOptimalTurn };
