"""
This type stub file was generated by pyright.
"""

from pandas._typing import DtypeObj

"""
Utility functions and objects for implementing the interchange API.
"""
class ArrowCTypes:
    """
    Enum for Apache Arrow C type format strings.

    The Arrow C data interface:
    https://arrow.apache.org/docs/format/CDataInterface.html#data-type-description-format-strings
    """
    NULL = ...
    BOOL = ...
    INT8 = ...
    UINT8 = ...
    INT16 = ...
    UINT16 = ...
    INT32 = ...
    UINT32 = ...
    INT64 = ...
    UINT64 = ...
    FLOAT16 = ...
    FLOAT32 = ...
    FLOAT64 = ...
    STRING = ...
    DATE32 = ...
    DATE64 = ...
    TIMESTAMP = ...
    TIME = ...


class Endianness:
    """Enum indicating the byte-order of a data-type."""
    LITTLE = ...
    BIG = ...
    NATIVE = ...
    NA = ...


def dtype_to_arrow_c_fmt(dtype: DtypeObj) -> str:
    """
    Represent pandas `dtype` as a format string in Apache Arrow C notation.

    Parameters
    ----------
    dtype : np.dtype
        Datatype of pandas DataFrame to represent.

    Returns
    -------
    str
        Format string in Apache Arrow C notation of the given `dtype`.
    """
    ...

class NoBufferPresent(Exception):
    """Exception to signal that there is no requested buffer."""
    ...


