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

import builtins
import typing
from enum import Enum

import numpy.typing

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

class CodecPipelineImpl:
    def __new__(
        cls,
        metadata: builtins.str,
        *,
        validate_checksums: builtins.bool | None = None,
        store_empty_chunks: builtins.bool | None = None,
        chunk_concurrent_minimum: builtins.int | None = None,
        chunk_concurrent_maximum: builtins.int | None = None,
        num_threads: builtins.int | None = None,
    ) -> CodecPipelineImpl: ...
    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: builtins.str

class HttpStoreConfig:
    endpoint: builtins.str

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

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