"""Type stubs for list_operations module."""

from typing import Any, Optional

from aerospike_py._types import ListPolicy, Operation

def list_append(bin: str, val: Any, policy: Optional[ListPolicy] = None) -> Operation: ...
def list_append_items(bin: str, values: list, policy: Optional[ListPolicy] = None) -> Operation: ...
def list_insert(bin: str, index: int, val: Any, policy: Optional[ListPolicy] = None) -> Operation: ...
def list_insert_items(bin: str, index: int, values: list, policy: Optional[ListPolicy] = None) -> Operation: ...
def list_pop(bin: str, index: int) -> Operation: ...
def list_pop_range(bin: str, index: int, count: int) -> Operation: ...
def list_remove(bin: str, index: int) -> Operation: ...
def list_remove_range(bin: str, index: int, count: int) -> Operation: ...
def list_set(bin: str, index: int, val: Any) -> Operation: ...
def list_trim(bin: str, index: int, count: int) -> Operation: ...
def list_clear(bin: str) -> Operation: ...
def list_size(bin: str) -> Operation: ...
def list_get(bin: str, index: int) -> Operation: ...
def list_get_range(bin: str, index: int, count: int) -> Operation: ...
def list_get_by_value(bin: str, val: Any, return_type: int) -> Operation: ...
def list_get_by_index(bin: str, index: int, return_type: int) -> Operation: ...
def list_get_by_index_range(bin: str, index: int, return_type: int, count: Optional[int] = None) -> Operation: ...
def list_get_by_rank(bin: str, rank: int, return_type: int) -> Operation: ...
def list_get_by_rank_range(bin: str, rank: int, return_type: int, count: Optional[int] = None) -> Operation: ...
def list_get_by_value_list(bin: str, values: list, return_type: int) -> Operation: ...
def list_get_by_value_range(bin: str, begin: Any, end: Any, return_type: int) -> Operation: ...
def list_remove_by_value(bin: str, val: Any, return_type: int) -> Operation: ...
def list_remove_by_value_list(bin: str, values: list, return_type: int) -> Operation: ...
def list_remove_by_value_range(bin: str, begin: Any, end: Any, return_type: int) -> Operation: ...
def list_remove_by_index(bin: str, index: int, return_type: int) -> Operation: ...
def list_remove_by_index_range(bin: str, index: int, return_type: int, count: Optional[int] = None) -> Operation: ...
def list_remove_by_rank(bin: str, rank: int, return_type: int) -> Operation: ...
def list_remove_by_rank_range(bin: str, rank: int, return_type: int, count: Optional[int] = None) -> Operation: ...
def list_increment(bin: str, index: int, val: int, policy: Optional[ListPolicy] = None) -> Operation: ...
def list_sort(bin: str, sort_flags: int = 0) -> Operation: ...
def list_set_order(bin: str, list_order: int = 0) -> Operation: ...
