"""Type stubs for map_operations module."""

from typing import Any, Optional

from aerospike_py._types import MapPolicy, Operation

def map_set_order(bin: str, map_order: int) -> Operation: ...
def map_put(bin: str, key: Any, val: Any, policy: Optional[MapPolicy] = None) -> Operation: ...
def map_put_items(bin: str, items: dict, policy: Optional[MapPolicy] = None) -> Operation: ...
def map_increment(bin: str, key: Any, incr: Any, policy: Optional[MapPolicy] = None) -> Operation: ...
def map_decrement(bin: str, key: Any, decr: Any, policy: Optional[MapPolicy] = None) -> Operation: ...
def map_clear(bin: str) -> Operation: ...
def map_remove_by_key(bin: str, key: Any, return_type: int) -> Operation: ...
def map_remove_by_key_list(bin: str, keys: list, return_type: int) -> Operation: ...
def map_remove_by_key_range(bin: str, begin: Any, end: Any, return_type: int) -> Operation: ...
def map_remove_by_value(bin: str, val: Any, return_type: int) -> Operation: ...
def map_remove_by_value_list(bin: str, values: list, return_type: int) -> Operation: ...
def map_remove_by_value_range(bin: str, begin: Any, end: Any, return_type: int) -> Operation: ...
def map_remove_by_index(bin: str, index: int, return_type: int) -> Operation: ...
def map_remove_by_index_range(bin: str, index: int, return_type: int, count: Optional[int] = None) -> Operation: ...
def map_remove_by_rank(bin: str, rank: int, return_type: int) -> Operation: ...
def map_remove_by_rank_range(bin: str, rank: int, return_type: int, count: Optional[int] = None) -> Operation: ...
def map_size(bin: str) -> Operation: ...
def map_get_by_key(bin: str, key: Any, return_type: int) -> Operation: ...
def map_get_by_key_range(bin: str, begin: Any, end: Any, return_type: int) -> Operation: ...
def map_get_by_value(bin: str, val: Any, return_type: int) -> Operation: ...
def map_get_by_value_range(bin: str, begin: Any, end: Any, return_type: int) -> Operation: ...
def map_get_by_index(bin: str, index: int, return_type: int) -> Operation: ...
def map_get_by_index_range(bin: str, index: int, return_type: int, count: Optional[int] = None) -> Operation: ...
def map_get_by_rank(bin: str, rank: int, return_type: int) -> Operation: ...
def map_get_by_rank_range(bin: str, rank: int, return_type: int, count: Optional[int] = None) -> Operation: ...
def map_get_by_key_list(bin: str, keys: list, return_type: int) -> Operation: ...
def map_get_by_value_list(bin: str, values: list, return_type: int) -> Operation: ...
