from collections.abc import Callable
from typing import Any

import numpy as np
import numpy.typing as npt

AR: npt.NDArray[np.float64]
func1: Callable[[Any], str]
func2: Callable[[np.integer[Any]], str]

np.array2string(AR, style=None)  # E: Unexpected keyword argument
np.array2string(AR, legacy="1.14")  # E: incompatible type
np.array2string(AR, sign="*")  # E: incompatible type
np.array2string(AR, floatmode="default")  # E: incompatible type
np.array2string(AR, formatter={"A": func1})  # E: incompatible type
np.array2string(AR, formatter={"float": func2})  # E: Incompatible types
