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

import builtins
import typing

import numpy.typing
import zarr.abc.store

@typing.final
class ChunkItem:
    def __new__(
        cls,
        key: builtins.str,
        chunk_subset: typing.Sequence[slice],
        chunk_shape: typing.Sequence[builtins.int],
        subset: typing.Sequence[slice],
        shape: typing.Sequence[builtins.int],
    ) -> ChunkItem: ...

@typing.final
class CodecPipelineImpl:
    def __new__(
        cls,
        array_metadata: builtins.str,
        store_config: zarr.abc.store.Store,
        *,
        validate_checksums: builtins.bool = False,
        chunk_concurrent_minimum: builtins.int | None = None,
        chunk_concurrent_maximum: builtins.int | None = None,
        num_threads: builtins.int | None = None,
        direct_io: builtins.bool = False,
    ) -> CodecPipelineImpl: ...
    def retrieve_chunks_and_apply_index(
        self,
        chunk_descriptions: typing.Sequence[ChunkItem],
        value: numpy.typing.NDArray[typing.Any],
    ) -> None: ...
    def store_chunks_with_indices(
        self,
        chunk_descriptions: typing.Sequence[ChunkItem],
        value: numpy.typing.NDArray[typing.Any],
        write_empty_chunks: builtins.bool,
    ) -> None: ...
