from .format import *
import itertools
from .abc import Array as Array
from collections.abc import Iterable, Iterator
from typing import TypeVar

T = TypeVar('T')
Boundaries = tuple[tuple[int, int], ...]

class Array1D(Array):
    def __init__(self, default: Union[T, None] = ..., *, content: Union[Iterable, None] = ..., offset: int = ...) -> None: ...
    @property
    def dim(self) -> int: ...
    @property
    def offset(self) -> int: ...
    @property
    def boundaries(self) -> tuple[int, int]: ...
    def replace_content(self, content: Iterable, offset: int = ...) -> None: ...
    def __setitem__(self, index: Union[int, slice], value: Union[T, None]) -> None: ...
    def __getitem__(self, index: Union[int, slice]) -> Union[T, Iterator, None]: ...
    def __iter__(self) -> itertools.chain: ...
    def __len__(self) -> int: ...
    def __format__(self, format: str) -> str: ...
