1from typing import Any, Dict, Optional, Text
2
3BOTOCORE_EXCEPTIONS: Any
4log: Any
5
6class MetaTable:
7    data: Dict[Any, Any]
8    def __init__(self, data: Dict[Any, Any]) -> None: ...
9    @property
10    def range_keyname(self) -> Optional[Text]: ...
11    @property
12    def hash_keyname(self) -> Text: ...
13    def get_index_hash_keyname(self, index_name: Text) -> Optional[Text]: ...
14    def get_item_attribute_map(self, attributes, item_key: Any = ..., pythonic_key: bool = ...): ...
15    def get_attribute_type(self, attribute_name, value: Optional[Any] = ...): ...
16    def get_identifier_map(self, hash_key, range_key: Optional[Any] = ..., key: Any = ...): ...
17    def get_exclusive_start_key_map(self, exclusive_start_key): ...
18
19class Connection:
20    host: Any
21    region: Any
22    session_cls: Any
23    def __init__(self, region: Optional[Any] = ..., host: Optional[Any] = ..., session_cls: Optional[Any] = ...,
24                 request_timeout_seconds: Optional[Any] = ..., max_retry_attempts: Optional[Any] = ...,
25                 base_backoff_ms: Optional[Any] = ...) -> None: ...
26    def dispatch(self, operation_name, operation_kwargs): ...
27    @property
28    def session(self): ...
29    @property
30    def requests_session(self): ...
31    @property
32    def client(self): ...
33    def get_meta_table(self, table_name: Text, refresh: bool = ...): ...
34    def create_table(self, table_name: Text, attribute_definitions: Optional[Any] = ..., key_schema: Optional[Any] = ...,
35                     read_capacity_units: Optional[Any] = ..., write_capacity_units: Optional[Any] = ...,
36                     global_secondary_indexes: Optional[Any] = ..., local_secondary_indexes: Optional[Any] = ...,
37                     stream_specification: Optional[Any] = ...): ...
38    def delete_table(self, table_name: Text): ...
39    def update_table(self, table_name: Text, read_capacity_units: Optional[Any] = ..., write_capacity_units: Optional[Any] = ...,
40                     global_secondary_index_updates: Optional[Any] = ...): ...
41    def list_tables(self, exclusive_start_table_name: Optional[Any] = ..., limit: Optional[Any] = ...): ...
42    def describe_table(self, table_name: Text): ...
43    def get_conditional_operator(self, operator): ...
44    def get_item_attribute_map(self, table_name: Text, attributes, item_key: Any = ..., pythonic_key: bool = ...): ...
45    def get_expected_map(self, table_name: Text, expected): ...
46    def parse_attribute(self, attribute, return_type: bool = ...): ...
47    def get_attribute_type(self, table_name: Text, attribute_name, value: Optional[Any] = ...): ...
48    def get_identifier_map(self, table_name: Text, hash_key, range_key: Optional[Any] = ..., key: Any = ...): ...
49    def get_query_filter_map(self, table_name: Text, query_filters): ...
50    def get_consumed_capacity_map(self, return_consumed_capacity): ...
51    def get_return_values_map(self, return_values): ...
52    def get_item_collection_map(self, return_item_collection_metrics): ...
53    def get_exclusive_start_key_map(self, table_name: Text, exclusive_start_key): ...
54    def delete_item(self, table_name: Text, hash_key, range_key: Optional[Any] = ..., expected: Optional[Any] = ...,
55                    conditional_operator: Optional[Any] = ..., return_values: Optional[Any] = ...,
56                    return_consumed_capacity: Optional[Any] = ..., return_item_collection_metrics: Optional[Any] = ...): ...
57    def update_item(self, table_name: Text, hash_key, range_key: Optional[Any] = ..., attribute_updates: Optional[Any] = ...,
58                    expected: Optional[Any] = ..., return_consumed_capacity: Optional[Any] = ...,
59                    conditional_operator: Optional[Any] = ..., return_item_collection_metrics: Optional[Any] = ...,
60                    return_values: Optional[Any] = ...): ...
61    def put_item(self, table_name: Text, hash_key, range_key: Optional[Any] = ..., attributes: Optional[Any] = ...,
62                 expected: Optional[Any] = ..., conditional_operator: Optional[Any] = ..., return_values: Optional[Any] = ...,
63                 return_consumed_capacity: Optional[Any] = ..., return_item_collection_metrics: Optional[Any] = ...): ...
64    def batch_write_item(self, table_name: Text, put_items: Optional[Any] = ..., delete_items: Optional[Any] = ...,
65                         return_consumed_capacity: Optional[Any] = ..., return_item_collection_metrics: Optional[Any] = ...): ...
66    def batch_get_item(self, table_name: Text, keys, consistent_read: Optional[Any] = ...,
67                       return_consumed_capacity: Optional[Any] = ..., attributes_to_get: Optional[Any] = ...): ...
68    def get_item(self, table_name: Text, hash_key, range_key: Optional[Any] = ..., consistent_read: bool = ...,
69                 attributes_to_get: Optional[Any] = ...): ...
70    def scan(self, table_name: Text, attributes_to_get: Optional[Any] = ..., limit: Optional[Any] = ...,
71             conditional_operator: Optional[Any] = ..., scan_filter: Optional[Any] = ...,
72             return_consumed_capacity: Optional[Any] = ..., exclusive_start_key: Optional[Any] = ...,
73             segment: Optional[Any] = ..., total_segments: Optional[Any] = ...): ...
74    def query(self, table_name: Text, hash_key, attributes_to_get: Optional[Any] = ..., consistent_read: bool = ...,
75              exclusive_start_key: Optional[Any] = ..., index_name: Optional[Any] = ..., key_conditions: Optional[Any] = ...,
76              query_filters: Optional[Any] = ..., conditional_operator: Optional[Any] = ..., limit: Optional[Any] = ...,
77              return_consumed_capacity: Optional[Any] = ..., scan_index_forward: Optional[Any] = ...,
78              select: Optional[Any] = ...): ...
79