#  Copyright 2016-2026. Couchbase, Inc.
#  All Rights Reserved.
#
#  Licensed under the Apache License, Version 2.0 (the "License")
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.


# flake8: noqa: E501
from __future__ import annotations

import sys
from typing import (Any,
                    Callable,
                    Dict,
                    TypedDict)

if sys.version_info >= (3, 11):
    from typing import Unpack
else:
    from typing_extensions import Unpack

import couchbase.logic.pycbc_core.binding_cpp_types as CppTypes
from couchbase.logic.pycbc_core import (pycbc_result,
                                        pycbc_scan_iterator,
                                        pycbc_streamed_result)


class PycbcConnectionOpMap(TypedDict):
    connect: Callable[[Unpack[CppTypes.CppConnectRequest]], None]
    close: Callable[[Unpack[CppTypes.CppCloseRequest]], None]
    open_bucket: Callable[[Unpack[CppTypes.CppOpenBucketRequest]], None]
    close_bucket: Callable[[Unpack[CppTypes.CppCloseBucketRequest]], None]
    update_credentials: Callable[[Unpack[CppTypes.CppUpdateCredentialsRequest]], None]
    get_connection_info: Callable[[], Dict[str, Any]]
    get_default_timeouts: Callable[[], Dict[str, int]]
    diagnostics: Callable[[Unpack[CppTypes.CppDiagnosticsRequest]], pycbc_result[CppTypes.CppDiagnosticsResult]]
    ping: Callable[[Unpack[CppTypes.CppPingRequest]], pycbc_result[CppTypes.CppPingResult]]
    kv_range_scan: Callable[[Unpack[CppTypes.CppRangeScan]], pycbc_scan_iterator[Any]]
    get_cluster_labels: Callable[[], Dict[str, str]]

# ====================================================================================================
# AUTOGENERATED SECTION START - DO NOT EDIT MANUALLY
# Generated-On: 2026-02-21 16:18:41
# Content-Hash: f19cb6c430e364195da1463ff90804d0
# ====================================================================================================
    # key-value operations
    append: Callable[[Unpack[CppTypes.CppAppendRequest]], pycbc_result[CppTypes.CppAppendResponse]]
    append_with_legacy_durability: Callable[[
        Unpack[CppTypes.CppAppendWithLegacyDurabilityRequest]], pycbc_result[CppTypes.CppAppendResponse]]
    decrement: Callable[[Unpack[CppTypes.CppDecrementRequest]], pycbc_result[CppTypes.CppDecrementResponse]]
    decrement_with_legacy_durability: Callable[[
        Unpack[CppTypes.CppDecrementWithLegacyDurabilityRequest]], pycbc_result[CppTypes.CppDecrementResponse]]
    exists: Callable[[Unpack[CppTypes.CppExistsRequest]], pycbc_result[CppTypes.CppExistsResponse]]
    get: Callable[[Unpack[CppTypes.CppGetRequest]], pycbc_result[CppTypes.CppGetResponse]]
    get_all_replicas: Callable[[Unpack[CppTypes.CppGetAllReplicasRequest]], pycbc_streamed_result[Any]]
    get_and_lock: Callable[[Unpack[CppTypes.CppGetAndLockRequest]], pycbc_result[CppTypes.CppGetAndLockResponse]]
    get_and_touch: Callable[[Unpack[CppTypes.CppGetAndTouchRequest]], pycbc_result[CppTypes.CppGetAndTouchResponse]]
    get_any_replica: Callable[[Unpack[CppTypes.CppGetAnyReplicaRequest]],
                              pycbc_result[CppTypes.CppGetAnyReplicaResponse]]
    get_projected: Callable[[Unpack[CppTypes.CppGetProjectedRequest]], pycbc_result[CppTypes.CppGetProjectedResponse]]
    increment: Callable[[Unpack[CppTypes.CppIncrementRequest]], pycbc_result[CppTypes.CppIncrementResponse]]
    increment_with_legacy_durability: Callable[[
        Unpack[CppTypes.CppIncrementWithLegacyDurabilityRequest]], pycbc_result[CppTypes.CppIncrementResponse]]
    insert: Callable[[Unpack[CppTypes.CppInsertRequest]], pycbc_result[CppTypes.CppInsertResponse]]
    insert_with_legacy_durability: Callable[[
        Unpack[CppTypes.CppInsertWithLegacyDurabilityRequest]], pycbc_result[CppTypes.CppInsertResponse]]
    lookup_in: Callable[[Unpack[CppTypes.CppLookupInRequest]], pycbc_result[CppTypes.CppLookupInResponse]]
    lookup_in_all_replicas: Callable[[Unpack[CppTypes.CppLookupInAllReplicasRequest]], pycbc_streamed_result[Any]]
    lookup_in_any_replica: Callable[[Unpack[CppTypes.CppLookupInAnyReplicaRequest]],
                                    pycbc_result[CppTypes.CppLookupInAnyReplicaResponse]]
    mutate_in: Callable[[Unpack[CppTypes.CppMutateInRequest]], pycbc_result[CppTypes.CppMutateInResponse]]
    mutate_in_with_legacy_durability: Callable[[
        Unpack[CppTypes.CppMutateInWithLegacyDurabilityRequest]], pycbc_result[CppTypes.CppMutateInResponse]]
    prepend: Callable[[Unpack[CppTypes.CppPrependRequest]], pycbc_result[CppTypes.CppPrependResponse]]
    prepend_with_legacy_durability: Callable[[
        Unpack[CppTypes.CppPrependWithLegacyDurabilityRequest]], pycbc_result[CppTypes.CppPrependResponse]]
    remove: Callable[[Unpack[CppTypes.CppRemoveRequest]], pycbc_result[CppTypes.CppRemoveResponse]]
    remove_with_legacy_durability: Callable[[
        Unpack[CppTypes.CppRemoveWithLegacyDurabilityRequest]], pycbc_result[CppTypes.CppRemoveResponse]]
    replace: Callable[[Unpack[CppTypes.CppReplaceRequest]], pycbc_result[CppTypes.CppReplaceResponse]]
    replace_with_legacy_durability: Callable[[
        Unpack[CppTypes.CppReplaceWithLegacyDurabilityRequest]], pycbc_result[CppTypes.CppReplaceResponse]]
    touch: Callable[[Unpack[CppTypes.CppTouchRequest]], pycbc_result[CppTypes.CppTouchResponse]]
    unlock: Callable[[Unpack[CppTypes.CppUnlockRequest]], pycbc_result[CppTypes.CppUnlockResponse]]
    upsert: Callable[[Unpack[CppTypes.CppUpsertRequest]], pycbc_result[CppTypes.CppUpsertResponse]]
    upsert_with_legacy_durability: Callable[[
        Unpack[CppTypes.CppUpsertWithLegacyDurabilityRequest]], pycbc_result[CppTypes.CppUpsertResponse]]

    # key-value multi operations
    append_multi: Callable[[Unpack[CppTypes.CppAppendMultiRequest]],
                           pycbc_result[Dict[str, CppTypes.CppAppendResponse]]]
    append_with_legacy_durability_multi: Callable[[
        Unpack[CppTypes.CppAppendWithLegacyDurabilityMultiRequest]], pycbc_result[Dict[str, CppTypes.CppAppendResponse]]]
    decrement_multi: Callable[[Unpack[CppTypes.CppDecrementMultiRequest]],
                              pycbc_result[Dict[str, CppTypes.CppDecrementResponse]]]
    decrement_with_legacy_durability_multi: Callable[[
        Unpack[CppTypes.CppDecrementWithLegacyDurabilityMultiRequest]], pycbc_result[Dict[str, CppTypes.CppDecrementResponse]]]
    exists_multi: Callable[[Unpack[CppTypes.CppExistsMultiRequest]],
                           pycbc_result[Dict[str, CppTypes.CppExistsResponse]]]
    get_multi: Callable[[Unpack[CppTypes.CppGetMultiRequest]], pycbc_result[Dict[str, CppTypes.CppGetResponse]]]
    get_all_replicas: Callable[[Unpack[CppTypes.CppGetAllReplicasMultiRequest]],
                               pycbc_result[Dict[str, pycbc_streamed_result[Any]]]]
    get_and_lock_multi: Callable[[Unpack[CppTypes.CppGetAndLockMultiRequest]],
                                 pycbc_result[Dict[str, CppTypes.CppGetAndLockResponse]]]
    get_and_touch_multi: Callable[[Unpack[CppTypes.CppGetAndTouchMultiRequest]],
                                  pycbc_result[Dict[str, CppTypes.CppGetAndTouchResponse]]]
    get_any_replica_multi: Callable[[Unpack[CppTypes.CppGetAnyReplicaMultiRequest]],
                                    pycbc_result[Dict[str, CppTypes.CppGetAnyReplicaResponse]]]
    increment_multi: Callable[[Unpack[CppTypes.CppIncrementMultiRequest]],
                              pycbc_result[Dict[str, CppTypes.CppIncrementResponse]]]
    increment_with_legacy_durability_multi: Callable[[
        Unpack[CppTypes.CppIncrementWithLegacyDurabilityMultiRequest]], pycbc_result[Dict[str, CppTypes.CppIncrementResponse]]]
    insert_multi: Callable[[Unpack[CppTypes.CppInsertMultiRequest]],
                           pycbc_result[Dict[str, CppTypes.CppInsertResponse]]]
    insert_with_legacy_durability_multi: Callable[[
        Unpack[CppTypes.CppInsertWithLegacyDurabilityMultiRequest]], pycbc_result[Dict[str, CppTypes.CppInsertResponse]]]
    prepend_multi: Callable[[Unpack[CppTypes.CppPrependMultiRequest]],
                            pycbc_result[Dict[str, CppTypes.CppPrependResponse]]]
    prepend_with_legacy_durability_multi: Callable[[
        Unpack[CppTypes.CppPrependWithLegacyDurabilityMultiRequest]], pycbc_result[Dict[str, CppTypes.CppPrependResponse]]]
    remove_multi: Callable[[Unpack[CppTypes.CppRemoveMultiRequest]],
                           pycbc_result[Dict[str, CppTypes.CppRemoveResponse]]]
    remove_with_legacy_durability_multi: Callable[[
        Unpack[CppTypes.CppRemoveWithLegacyDurabilityMultiRequest]], pycbc_result[Dict[str, CppTypes.CppRemoveResponse]]]
    replace_multi: Callable[[Unpack[CppTypes.CppReplaceMultiRequest]],
                            pycbc_result[Dict[str, CppTypes.CppReplaceResponse]]]
    replace_with_legacy_durability_multi: Callable[[
        Unpack[CppTypes.CppReplaceWithLegacyDurabilityMultiRequest]], pycbc_result[Dict[str, CppTypes.CppReplaceResponse]]]
    touch_multi: Callable[[Unpack[CppTypes.CppTouchMultiRequest]], pycbc_result[Dict[str, CppTypes.CppTouchResponse]]]
    unlock_multi: Callable[[Unpack[CppTypes.CppUnlockMultiRequest]],
                           pycbc_result[Dict[str, CppTypes.CppUnlockResponse]]]
    upsert_multi: Callable[[Unpack[CppTypes.CppUpsertMultiRequest]],
                           pycbc_result[Dict[str, CppTypes.CppUpsertResponse]]]
    upsert_with_legacy_durability_multi: Callable[[
        Unpack[CppTypes.CppUpsertWithLegacyDurabilityMultiRequest]], pycbc_result[Dict[str, CppTypes.CppUpsertResponse]]]

    # streaming operations
    analytics_query: Callable[[Unpack[CppTypes.CppAnalyticsRequest]], pycbc_streamed_result[Any]]
    query: Callable[[Unpack[CppTypes.CppQueryRequest]], pycbc_streamed_result[Any]]
    search_query: Callable[[Unpack[CppTypes.CppSearchRequest]], pycbc_streamed_result[Any]]
    view_query: Callable[[Unpack[CppTypes.CppDocumentViewRequest]], pycbc_streamed_result[Any]]

    # Analytics management operations
    analytics_dataset_create: Callable[[Unpack[CppTypes.CppAnalyticsDatasetCreateRequest]],
                                       pycbc_result[CppTypes.CppAnalyticsDatasetCreateResponse]]
    analytics_dataset_drop: Callable[[Unpack[CppTypes.CppAnalyticsDatasetDropRequest]],
                                     pycbc_result[CppTypes.CppAnalyticsDatasetDropResponse]]
    analytics_dataset_get_all: Callable[[Unpack[CppTypes.CppAnalyticsDatasetGetAllRequest]],
                                        pycbc_result[CppTypes.CppAnalyticsDatasetGetAllResponse]]
    analytics_dataverse_create: Callable[[Unpack[CppTypes.CppAnalyticsDataverseCreateRequest]],
                                         pycbc_result[CppTypes.CppAnalyticsDataverseCreateResponse]]
    analytics_dataverse_drop: Callable[[Unpack[CppTypes.CppAnalyticsDataverseDropRequest]],
                                       pycbc_result[CppTypes.CppAnalyticsDataverseDropResponse]]
    analytics_get_pending_mutations: Callable[[
        Unpack[CppTypes.CppAnalyticsGetPendingMutationsRequest]], pycbc_result[CppTypes.CppAnalyticsGetPendingMutationsResponse]]
    analytics_index_create: Callable[[Unpack[CppTypes.CppAnalyticsIndexCreateRequest]],
                                     pycbc_result[CppTypes.CppAnalyticsIndexCreateResponse]]
    analytics_index_drop: Callable[[Unpack[CppTypes.CppAnalyticsIndexDropRequest]],
                                   pycbc_result[CppTypes.CppAnalyticsIndexDropResponse]]
    analytics_index_get_all: Callable[[Unpack[CppTypes.CppAnalyticsIndexGetAllRequest]],
                                      pycbc_result[CppTypes.CppAnalyticsIndexGetAllResponse]]
    analytics_link_connect: Callable[[Unpack[CppTypes.CppAnalyticsLinkConnectRequest]],
                                     pycbc_result[CppTypes.CppAnalyticsLinkConnectResponse]]
    analytics_link_create_azure_blob_external_link: Callable[[
        Unpack[CppTypes.CppAnalyticsLinkCreateAzureBlobExternalLinkRequest]], pycbc_result[CppTypes.CppAnalyticsLinkCreateResponse]]
    analytics_link_create_couchbase_remote_link: Callable[[
        Unpack[CppTypes.CppAnalyticsLinkCreateCouchbaseRemoteLinkRequest]], pycbc_result[CppTypes.CppAnalyticsLinkCreateResponse]]
    analytics_link_create_s3_external_link: Callable[[
        Unpack[CppTypes.CppAnalyticsLinkCreateS3ExternalLinkRequest]], pycbc_result[CppTypes.CppAnalyticsLinkCreateResponse]]
    analytics_link_disconnect: Callable[[Unpack[CppTypes.CppAnalyticsLinkDisconnectRequest]],
                                        pycbc_result[CppTypes.CppAnalyticsLinkDisconnectResponse]]
    analytics_link_drop: Callable[[Unpack[CppTypes.CppAnalyticsLinkDropRequest]],
                                  pycbc_result[CppTypes.CppAnalyticsLinkDropResponse]]
    analytics_link_get_all: Callable[[Unpack[CppTypes.CppAnalyticsLinkGetAllRequest]],
                                     pycbc_result[CppTypes.CppAnalyticsLinkGetAllResponse]]
    analytics_link_replace_azure_blob_external_link: Callable[[
        Unpack[CppTypes.CppAnalyticsLinkReplaceAzureBlobExternalLinkRequest]], pycbc_result[CppTypes.CppAnalyticsLinkReplaceResponse]]
    analytics_link_replace_couchbase_remote_link: Callable[[
        Unpack[CppTypes.CppAnalyticsLinkReplaceCouchbaseRemoteLinkRequest]], pycbc_result[CppTypes.CppAnalyticsLinkReplaceResponse]]
    analytics_link_replace_s3_external_link: Callable[[
        Unpack[CppTypes.CppAnalyticsLinkReplaceS3ExternalLinkRequest]], pycbc_result[CppTypes.CppAnalyticsLinkReplaceResponse]]

    # Bucket management operations
    bucket_create: Callable[[Unpack[CppTypes.CppBucketCreateRequest]], pycbc_result[CppTypes.CppBucketCreateResponse]]
    bucket_describe: Callable[[Unpack[CppTypes.CppBucketDescribeRequest]],
                              pycbc_result[CppTypes.CppBucketDescribeResponse]]
    bucket_drop: Callable[[Unpack[CppTypes.CppBucketDropRequest]], pycbc_result[CppTypes.CppBucketDropResponse]]
    bucket_flush: Callable[[Unpack[CppTypes.CppBucketFlushRequest]], pycbc_result[CppTypes.CppBucketFlushResponse]]
    bucket_get: Callable[[Unpack[CppTypes.CppBucketGetRequest]], pycbc_result[CppTypes.CppBucketGetResponse]]
    bucket_get_all: Callable[[Unpack[CppTypes.CppBucketGetAllRequest]], pycbc_result[CppTypes.CppBucketGetAllResponse]]
    bucket_update: Callable[[Unpack[CppTypes.CppBucketUpdateRequest]], pycbc_result[CppTypes.CppBucketUpdateResponse]]

    # Cluster management operations
    cluster_describe: Callable[[Unpack[CppTypes.CppClusterDescribeRequest]],
                               pycbc_result[CppTypes.CppClusterDescribeResponse]]
    cluster_developer_preview_enable: Callable[[
        Unpack[CppTypes.CppClusterDeveloperPreviewEnableRequest]], pycbc_result[CppTypes.CppClusterDeveloperPreviewEnableResponse]]

    # Collection management operations
    collection_create: Callable[[Unpack[CppTypes.CppCollectionCreateRequest]],
                                pycbc_result[CppTypes.CppCollectionCreateResponse]]
    collection_drop: Callable[[Unpack[CppTypes.CppCollectionDropRequest]],
                              pycbc_result[CppTypes.CppCollectionDropResponse]]
    collection_update: Callable[[Unpack[CppTypes.CppCollectionUpdateRequest]],
                                pycbc_result[CppTypes.CppCollectionUpdateResponse]]
    collections_manifest_get: Callable[[Unpack[CppTypes.CppCollectionsManifestGetRequest]],
                                       pycbc_result[CppTypes.CppCollectionsManifestGetResponse]]
    scope_create: Callable[[Unpack[CppTypes.CppScopeCreateRequest]], pycbc_result[CppTypes.CppScopeCreateResponse]]
    scope_drop: Callable[[Unpack[CppTypes.CppScopeDropRequest]], pycbc_result[CppTypes.CppScopeDropResponse]]
    scope_get_all: Callable[[Unpack[CppTypes.CppScopeGetAllRequest]], pycbc_result[CppTypes.CppScopeGetAllResponse]]

    # EventingFunction management operations
    eventing_deploy_function: Callable[[Unpack[CppTypes.CppEventingDeployFunctionRequest]],
                                       pycbc_result[CppTypes.CppEventingDeployFunctionResponse]]
    eventing_drop_function: Callable[[Unpack[CppTypes.CppEventingDropFunctionRequest]],
                                     pycbc_result[CppTypes.CppEventingDropFunctionResponse]]
    eventing_get_all_functions: Callable[[Unpack[CppTypes.CppEventingGetAllFunctionsRequest]],
                                         pycbc_result[CppTypes.CppEventingGetAllFunctionsResponse]]
    eventing_get_function: Callable[[Unpack[CppTypes.CppEventingGetFunctionRequest]],
                                    pycbc_result[CppTypes.CppEventingGetFunctionResponse]]
    eventing_get_status: Callable[[Unpack[CppTypes.CppEventingGetStatusRequest]],
                                  pycbc_result[CppTypes.CppEventingGetStatusResponse]]
    eventing_pause_function: Callable[[Unpack[CppTypes.CppEventingPauseFunctionRequest]],
                                      pycbc_result[CppTypes.CppEventingPauseFunctionResponse]]
    eventing_resume_function: Callable[[Unpack[CppTypes.CppEventingResumeFunctionRequest]],
                                       pycbc_result[CppTypes.CppEventingResumeFunctionResponse]]
    eventing_undeploy_function: Callable[[Unpack[CppTypes.CppEventingUndeployFunctionRequest]],
                                         pycbc_result[CppTypes.CppEventingUndeployFunctionResponse]]
    eventing_upsert_function: Callable[[Unpack[CppTypes.CppEventingUpsertFunctionRequest]],
                                       pycbc_result[CppTypes.CppEventingUpsertFunctionResponse]]

    # QueryIndex management operations
    query_index_build: Callable[[Unpack[CppTypes.CppQueryIndexBuildRequest]],
                                pycbc_result[CppTypes.CppQueryIndexBuildResponse]]
    query_index_build_deferred: Callable[[Unpack[CppTypes.CppQueryIndexBuildDeferredRequest]],
                                         pycbc_result[CppTypes.CppQueryIndexBuildDeferredResponse]]
    query_index_create: Callable[[Unpack[CppTypes.CppQueryIndexCreateRequest]],
                                 pycbc_result[CppTypes.CppQueryIndexCreateResponse]]
    query_index_drop: Callable[[Unpack[CppTypes.CppQueryIndexDropRequest]],
                               pycbc_result[CppTypes.CppQueryIndexDropResponse]]
    query_index_get_all: Callable[[Unpack[CppTypes.CppQueryIndexGetAllRequest]],
                                  pycbc_result[CppTypes.CppQueryIndexGetAllResponse]]
    query_index_get_all_deferred: Callable[[
        Unpack[CppTypes.CppQueryIndexGetAllDeferredRequest]], pycbc_result[CppTypes.CppQueryIndexGetAllDeferredResponse]]

    # SearchIndex management operations
    search_get_stats: Callable[[Unpack[CppTypes.CppSearchGetStatsRequest]],
                               pycbc_result[CppTypes.CppSearchGetStatsResponse]]
    search_index_analyze_document: Callable[[
        Unpack[CppTypes.CppSearchIndexAnalyzeDocumentRequest]], pycbc_result[CppTypes.CppSearchIndexAnalyzeDocumentResponse]]
    search_index_control_ingest: Callable[[
        Unpack[CppTypes.CppSearchIndexControlIngestRequest]], pycbc_result[CppTypes.CppSearchIndexControlIngestResponse]]
    search_index_control_plan_freeze: Callable[[
        Unpack[CppTypes.CppSearchIndexControlPlanFreezeRequest]], pycbc_result[CppTypes.CppSearchIndexControlPlanFreezeResponse]]
    search_index_control_query: Callable[[Unpack[CppTypes.CppSearchIndexControlQueryRequest]],
                                         pycbc_result[CppTypes.CppSearchIndexControlQueryResponse]]
    search_index_drop: Callable[[Unpack[CppTypes.CppSearchIndexDropRequest]],
                                pycbc_result[CppTypes.CppSearchIndexDropResponse]]
    search_index_get: Callable[[Unpack[CppTypes.CppSearchIndexGetRequest]],
                               pycbc_result[CppTypes.CppSearchIndexGetResponse]]
    search_index_get_all: Callable[[Unpack[CppTypes.CppSearchIndexGetAllRequest]],
                                   pycbc_result[CppTypes.CppSearchIndexGetAllResponse]]
    search_index_get_documents_count: Callable[[
        Unpack[CppTypes.CppSearchIndexGetDocumentsCountRequest]], pycbc_result[CppTypes.CppSearchIndexGetDocumentsCountResponse]]
    search_index_get_stats: Callable[[Unpack[CppTypes.CppSearchIndexGetStatsRequest]],
                                     pycbc_result[CppTypes.CppSearchIndexGetStatsResponse]]
    search_index_upsert: Callable[[Unpack[CppTypes.CppSearchIndexUpsertRequest]],
                                  pycbc_result[CppTypes.CppSearchIndexUpsertResponse]]

    # User management operations
    change_password: Callable[[Unpack[CppTypes.CppChangePasswordRequest]],
                              pycbc_result[CppTypes.CppChangePasswordResponse]]
    group_drop: Callable[[Unpack[CppTypes.CppGroupDropRequest]], pycbc_result[CppTypes.CppGroupDropResponse]]
    group_get: Callable[[Unpack[CppTypes.CppGroupGetRequest]], pycbc_result[CppTypes.CppGroupGetResponse]]
    group_get_all: Callable[[Unpack[CppTypes.CppGroupGetAllRequest]], pycbc_result[CppTypes.CppGroupGetAllResponse]]
    group_upsert: Callable[[Unpack[CppTypes.CppGroupUpsertRequest]], pycbc_result[CppTypes.CppGroupUpsertResponse]]
    role_get_all: Callable[[Unpack[CppTypes.CppRoleGetAllRequest]], pycbc_result[CppTypes.CppRoleGetAllResponse]]
    user_drop: Callable[[Unpack[CppTypes.CppUserDropRequest]], pycbc_result[CppTypes.CppUserDropResponse]]
    user_get: Callable[[Unpack[CppTypes.CppUserGetRequest]], pycbc_result[CppTypes.CppUserGetResponse]]
    user_get_all: Callable[[Unpack[CppTypes.CppUserGetAllRequest]], pycbc_result[CppTypes.CppUserGetAllResponse]]
    user_upsert: Callable[[Unpack[CppTypes.CppUserUpsertRequest]], pycbc_result[CppTypes.CppUserUpsertResponse]]

    # ViewIndex management operations
    view_index_drop: Callable[[Unpack[CppTypes.CppViewIndexDropRequest]],
                              pycbc_result[CppTypes.CppViewIndexDropResponse]]
    view_index_get: Callable[[Unpack[CppTypes.CppViewIndexGetRequest]], pycbc_result[CppTypes.CppViewIndexGetResponse]]
    view_index_get_all: Callable[[Unpack[CppTypes.CppViewIndexGetAllRequest]],
                                 pycbc_result[CppTypes.CppViewIndexGetAllResponse]]
    view_index_upsert: Callable[[Unpack[CppTypes.CppViewIndexUpsertRequest]],
                                pycbc_result[CppTypes.CppViewIndexUpsertResponse]]

# ====================================================================================================
# AUTOGENERATED SECTION END - DO NOT EDIT MANUALLY
# Generated-On: 2026-02-21 16:18:41
# Content-Hash: f19cb6c430e364195da1463ff90804d0
# ====================================================================================================
