# Stubs for zope.interface.common.sequence (Python 3.6)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

from typing import Any, Optional
from zope.interface import Interface

__docformat__: str

class IMinimalSequence(Interface):
    def __getitem__(index: Any) -> None: ...

class IFiniteSequence(IMinimalSequence):
    def __len__() -> None: ...

class IReadSequence(IFiniteSequence):
    def __contains__(item: Any) -> None: ...
    def __lt__(other: Any) -> None: ...
    def __le__(other: Any) -> None: ...
    def __eq__(other: Any) -> None: ...
    def __ne__(other: Any) -> None: ...
    def __gt__(other: Any) -> None: ...
    def __ge__(other: Any) -> None: ...
    def __add__(other: Any) -> None: ...
    def __mul__(n: Any) -> None: ...
    def __rmul__(n: Any) -> None: ...
    def __getslice__(i: Any, j: Any) -> None: ...

class IExtendedReadSequence(IReadSequence):
    def count(item: Any) -> None: ...
    def index(item: Any, *args: Any) -> None: ...

class IUniqueMemberWriteSequence(Interface):
    def __setitem__(index: Any, item: Any) -> None: ...
    def __delitem__(index: Any) -> None: ...
    def __setslice__(i: Any, j: Any, other: Any) -> None: ...
    def __delslice__(i: Any, j: Any) -> None: ...
    def __iadd__(y: Any) -> None: ...
    def append(item: Any) -> None: ...
    def insert(index: Any, item: Any) -> None: ...
    def pop(index: int = ...) -> None: ...
    def remove(item: Any) -> None: ...
    def reverse() -> None: ...
    def sort(cmpfunc: Optional[Any] = ...) -> None: ...
    def extend(iterable: Any) -> None: ...

class IWriteSequence(IUniqueMemberWriteSequence):
    def __imul__(n: Any) -> None: ...

class ISequence(IReadSequence, IWriteSequence): ...
