code: def _array_and_axes_permute_helper(
      draw,
      *,
      min_num_dims,
      max_num_dims,
      min_dim_size,
      max_dim_size,
      allow_none=False,
  ):
      """Return array, its dtype and either the random permutation of its axes or
      None.
  
      Parameters
      ----------
      draw
          special function that draws data randomly (but is reproducible) from a given
          data-set (ex. list).
      min_num_dims
          minimum number of array dimensions
      max_num_dims
          maximum number of array dimensions
      min_dim_size
          minimum size of the dimension
      max_dim_size
          maximum size of the dimension
  
      Returns
      -------
      A strategy that draws an array, its dtype and axes (or None).
      """
      shape = draw(
          helpers.get_shape(
              allow_none=allow_none,
              min_num_dims=min_num_dims,
              max_num_dims=max_num_dims,
              min_dim_size=min_dim_size,
              max_dim_size=max_dim_size,
          )
      )
      dtype = draw(helpers.array_dtypes(num_arrays=1))
      array = draw(helpers.array_values(dtype=dtype[0], shape=shape))
      axes = draw(
          st.one_of(
              st.none(),
              helpers.get_axis(
                  shape=shape,
                  allow_neg=False,
                  allow_none=False,
                  sort_values=False,
                  unique=True,
                  min_size=len(shape),
                  max_size=len(shape),
                  force_tuple=True,
                  force_int=False,
              ),
          ).filter(lambda x: x != tuple(range(len(shape))))
      )
      return array, dtype, axes
  
file_path: ivy/ivy_tests/test_ivy/test_frontends/test_numpy/helpers.py
imports: import numpy
  from hypothesis import strategies
  import ivy
  import ivy_tests.test_ivy.helpers
  import ivy.functional.frontends.numpy
  from ivy_tests.test_ivy.helpers.pipeline_helper import BackendHandler, get_frontend_config
  import ivy_tests.test_ivy.helpers.globals
label_desc: Use image node_id 1 for calling a global function with example usage: _array_and_axes_permute_helper(draw) and returns: array,  dtype,  axes