# This file is automatically generated by pyo3_stub_gen
# ruff: noqa: E501, F401

import typing
from enum import Enum, auto

import numpy.typing

class Basic:
    def __new__(cls, byte_interface: typing.Any, chunk_spec: typing.Any): ...
    ...

class CodecPipelineImpl:
    def __new__(
        cls,
        metadata,
        *,
        validate_checksums=...,
        store_empty_chunks=...,
        chunk_concurrent_minimum=...,
        chunk_concurrent_maximum=...,
        num_threads=...,
    ): ...
    def retrieve_chunks_and_apply_index(
        self,
        chunk_descriptions: typing.Sequence[WithSubset],
        value: numpy.typing.NDArray[typing.Any],
    ) -> None: ...
    def store_chunks_with_indices(
        self,
        chunk_descriptions: typing.Sequence[WithSubset],
        value: numpy.typing.NDArray[typing.Any],
    ) -> None: ...

class FilesystemStoreConfig:
    root: str

class HttpStoreConfig:
    endpoint: str

class WithSubset:
    def __new__(
        cls,
        item: Basic,
        chunk_subset: typing.Sequence[slice],
        subset: typing.Sequence[slice],
        shape: typing.Sequence[int],
    ): ...
    ...

class StoreConfig(Enum):
    Filesystem = auto()
    Http = auto()
