code: def _array_idxes_n_dtype(draw, **kwargs):
      num_dims = draw(helpers.ints(min_value=1, max_value=4))
      dtype, x = draw(
          helpers.dtype_and_values(
              **kwargs,
              min_num_dims=num_dims,
              max_num_dims=num_dims,
              shared_dtype=True,
          )
      )
      idxes = draw(
          st.lists(
              helpers.ints(min_value=0, max_value=num_dims - 1),
              min_size=num_dims,
              max_size=num_dims,
              unique=True,
          )
      )
      return x, idxes, dtype
  
imports: import random
  from hypothesis import strategies
  import math
  import ivy
  import ivy_tests.test_ivy.helpers
  import ivy_tests.test_ivy.helpers.globals
  from ivy_tests.test_ivy.helpers import handle_frontend_test
  from ivy_tests.test_ivy.test_functional.test_core.test_manipulation import _get_splits
  from ivy_tests.test_ivy.helpers.hypothesis_helpers.general_helpers import two_broadcastable_shapes
label_desc: Use image node_id 1 for calling a global function with example usage: _array_idxes_n_dtype(draw) and returns: x,  idxes,  dtype