"""Type stubs for BasalamClient - provides IDE autocomplete support."""
from typing import Any, Dict, List, Optional, Union, BinaryIO
from .auth import BaseAuth, Scope
from .config import BasalamConfig

class BasalamClient:
    """Main client for interacting with the Basalam API."""

    def __init__(self, auth: BaseAuth, config: Optional[BasalamConfig] = None) -> None: ...

    # Service attributes
    core: Any
    chat: Any
    order: Any
    order_processing: Any
    search: Any
    upload: Any
    wallet: Any
    webhook: Any

    # Context manager and auth methods
    async def __aenter__(self) -> BasalamClient: ...
    async def __aexit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: ...
    def has_scope(self, scope: Union[str, Scope]) -> bool: ...
    def get_granted_scopes(self) -> List[str]: ...
    async def refresh_auth_token(self) -> None: ...
    def refresh_auth_token_sync(self) -> None: ...

    # Service methods (dynamically delegated)
    async def create_discount( self, vendor_id: int, request: CreateDiscountRequestSchema ) -> Dict[str, Any]: ...
    def create_discount_sync( self, vendor_id: int, request: CreateDiscountRequestSchema ) -> Dict[str, Any]: ...
    async def create_product( self, vendor_id: int, request: ProductRequestSchema, photo_files: Optional[List[BinaryIO]] = None, video_file: Optional[BinaryIO] = None ) -> ProductResponseSchema: ...
    def create_product_sync( self, vendor_id: int, request: ProductRequestSchema, photo_files: Optional[List[BinaryIO]] = None, video_file: Optional[BinaryIO] = None ) -> ProductResponseSchema: ...
    async def create_products_bulk_action_request( self, vendor_id: int, request: BulkProductsUpdateRequestSchema ) -> BulkProductsUpdateResponseSchema: ...
    def create_products_bulk_action_request_sync( self, vendor_id: int, request: BulkProductsUpdateRequestSchema ) -> BulkProductsUpdateResponseSchema: ...
    async def create_shelve( self, request: ShelveSchema ) -> Dict[str, Any]: ...
    def create_shelve_sync( self, request: ShelveSchema ) -> Dict[str, Any]: ...
    async def create_user_bank_account( self, user_id: int, request: UserCardsSchema, prefer: Optional[str] = "return=minimal" ) -> Dict[str, Any]: ...
    def create_user_bank_account_sync( self, user_id: int, request: UserCardsSchema, prefer: Optional[str] = "return=minimal" ) -> Dict[str, Any]: ...
    async def create_user_mobile_change_request( self, user_id: int, request: ChangeUserMobileRequestSchema ) -> ResultResponse: ...
    def create_user_mobile_change_request_sync( self, user_id: int, request: ChangeUserMobileRequestSchema ) -> ResultResponse: ...
    async def create_user_mobile_confirmation_request( self, user_id: int ) -> ResultResponse: ...
    def create_user_mobile_confirmation_request_sync( self, user_id: int ) -> ResultResponse: ...
    async def create_vendor( self, user_id: int, request: CreateVendorSchema ) -> PublicVendorResponse: ...
    async def create_vendor_mobile_change_confirmation( self, vendor_id: int, request: ChangeVendorMobileConfirmSchema ) -> ResultResponse: ...
    def create_vendor_mobile_change_confirmation_sync( self, vendor_id: int, request: ChangeVendorMobileConfirmSchema ) -> ResultResponse: ...
    async def create_vendor_mobile_change_request( self, vendor_id: int, request: ChangeVendorMobileRequestSchema ) -> ResultResponse: ...
    def create_vendor_mobile_change_request_sync( self, vendor_id: int, request: ChangeVendorMobileRequestSchema ) -> ResultResponse: ...
    def create_vendor_sync( self, user_id: int, request: CreateVendorSchema ) -> PublicVendorResponse: ...
    async def delete_discount( self, vendor_id: int, request: DeleteDiscountRequestSchema ) -> Dict[str, Any]: ...
    def delete_discount_sync( self, vendor_id: int, request: DeleteDiscountRequestSchema ) -> Dict[str, Any]: ...
    async def delete_shelve( self, shelve_id: int ) -> Dict[str, Any]: ...
    async def delete_shelve_product( self, shelve_id: int, product_id: int ) -> Dict[str, Any]: ...
    def delete_shelve_product_sync( self, shelve_id: int, product_id: int ) -> Dict[str, Any]: ...
    def delete_shelve_sync( self, shelve_id: int ) -> Dict[str, Any]: ...
    async def delete_user_bank_account( self, user_id: int, bank_account_id: int ) -> Dict[str, Any]: ...
    def delete_user_bank_account_sync( self, user_id: int, bank_account_id: int ) -> Dict[str, Any]: ...
    async def get_categories(self) -> CategoriesResponse: ...
    def get_categories_sync(self) -> CategoriesResponse: ...
    async def get_category(self, category_id: int) -> CategoryResponse: ...
    async def get_category_attributes( self, category_id: int, product_id: Optional[int] = None, vendor_id: Optional[int] = None, exclude_multi_selects: bool = True ) -> AttributesResponse: ...
    def get_category_attributes_sync( self, category_id: int, product_id: Optional[int] = None, vendor_id: Optional[int] = None, exclude_multi_selects: bool = True ) -> AttributesResponse: ...
    def get_category_sync(self, category_id: int) -> CategoryResponse: ...
    async def get_current_user(self) -> PrivateUserResponse: ...
    def get_current_user_sync(self) -> PrivateUserResponse: ...
    async def get_default_shipping_methods(self) -> List[ShippingMethodResponse]: ...
    def get_default_shipping_methods_sync(self) -> List[ShippingMethodResponse]: ...
    async def get_product( self, product_id: int, prefer: Optional[str] = "return=minimal" ) -> ProductResponseSchema: ...
    async def get_product_shelves( self, product_id: int ) -> List[ProductShelfResponse]: ...
    def get_product_shelves_sync( self, product_id: int ) -> List[ProductShelfResponse]: ...
    def get_product_sync( self, product_id: int, prefer: Optional[str] = "return=minimal" ) -> ProductResponseSchema: ...
    async def get_products( self, query_params: Optional[GetProductsQuerySchema] = None, prefer: Optional[str] = "return=minimal" ) -> ProductListResponse: ...
    async def get_products_bulk_action_requests( self, vendor_id: int, page: int = 1, per_page: int = 30 ) -> BulkProductsUpdatesListResponse: ...
    async def get_products_bulk_action_requests_count( self, vendor_id: int ) -> BulkProductsUpdatesCountResponse: ...
    def get_products_bulk_action_requests_count_sync( self, vendor_id: int ) -> BulkProductsUpdatesCountResponse: ...
    def get_products_bulk_action_requests_sync( self, vendor_id: int, page: int = 1, per_page: int = 30 ) -> BulkProductsUpdatesListResponse: ...
    def get_products_sync( self, query_params: Optional[GetProductsQuerySchema] = None, prefer: Optional[str] = "return=minimal" ) -> ProductListResponse: ...
    async def get_products_unsuccessful_bulk_action_requests( self, request_id: int, page: int = 1, per_page: int = 20 ) -> UnsuccessfulBulkUpdateProducts: ...
    def get_products_unsuccessful_bulk_action_requests_sync( self, request_id: int, page: int = 1, per_page: int = 20 ) -> UnsuccessfulBulkUpdateProducts: ...
    async def get_shelve_products( self, shelve_id: int, title: Optional[str] = None ) -> Dict[str, Any]: ...
    def get_shelve_products_sync( self, shelve_id: int, title: Optional[str] = None ) -> Dict[str, Any]: ...
    async def get_shipping_methods( self, ids: Optional[List[int]] = None, vendor_ids: Optional[List[int]] = None, include_deleted: Optional[bool] = None, page: int = 1, per_page: int = 10 ) -> ShippingMethodListResponse: ...
    def get_shipping_methods_sync( self, ids: Optional[List[int]] = None, vendor_ids: Optional[List[int]] = None, include_deleted: Optional[bool] = None, page: int = 1, per_page: int = 10 ) -> ShippingMethodListResponse: ...
    async def get_user_bank_accounts( self, user_id: int, prefer: Optional[str] = "return=minimal" ) -> List[Dict[str, Any]]: ...
    def get_user_bank_accounts_sync( self, user_id: int, prefer: Optional[str] = "return=minimal" ) -> List[Dict[str, Any]]: ...
    async def get_vendor( self, vendor_id: int, prefer: Optional[str] = "return=minimal" ) -> Union[PublicVendorResponse, PrivateVendorResponse]: ...
    async def get_vendor_products( self, vendor_id: int, query_params: Optional[GetVendorProductsSchema] = None ) -> ProductListResponse: ...
    def get_vendor_products_sync( self, vendor_id: int, query_params: Optional[GetVendorProductsSchema] = None ) -> ProductListResponse: ...
    def get_vendor_sync( self, vendor_id: int, prefer: Optional[str] = "return=minimal" ) -> Union[PublicVendorResponse, PrivateVendorResponse]: ...
    async def get_working_shipping_methods( self, vendor_id: int ) -> List[ShippingMethodResponse]: ...
    def get_working_shipping_methods_sync( self, vendor_id: int ) -> List[ShippingMethodResponse]: ...
    async def update_bulk_products( self, vendor_id: int, request: BatchUpdateProductsRequest ) -> List[UpdateProductResponseItem]: ...
    def update_bulk_products_sync( self, vendor_id: int, request: BatchUpdateProductsRequest ) -> List[UpdateProductResponseItem]: ...
    async def update_product( self, product_id: int, request: ProductRequestSchema, photo_files: Optional[List[BinaryIO]] = None, video_file: Optional[BinaryIO] = None ) -> ProductResponseSchema: ...
    def update_product_sync( self, product_id: int, request: ProductRequestSchema, photo_files: Optional[List[BinaryIO]] = None, video_file: Optional[BinaryIO] = None ) -> ProductResponseSchema: ...
    async def update_product_variation( self, product_id: int, variation_id: int, request: UpdateProductVariationSchema ) -> ProductResponseSchema: ...
    def update_product_variation_sync( self, product_id: int, variation_id: int, request: UpdateProductVariationSchema ) -> ProductResponseSchema: ...
    async def update_shelve( self, shelve_id: int, request: ShelveSchema ) -> Dict[str, Any]: ...
    async def update_shelve_products( self, shelve_id: int, request: UpdateShelveProductsSchema ) -> Dict[str, Any]: ...
    def update_shelve_products_sync( self, shelve_id: int, request: UpdateShelveProductsSchema ) -> Dict[str, Any]: ...
    def update_shelve_sync( self, shelve_id: int, request: ShelveSchema ) -> Dict[str, Any]: ...
    async def update_shipping_methods( self, vendor_id: int, request: UpdateShippingMethodSchema ) -> List[ShippingMethodResponse]: ...
    def update_shipping_methods_sync( self, vendor_id: int, request: UpdateShippingMethodSchema ) -> List[ShippingMethodResponse]: ...
    async def update_user_bank_account( self, bank_account_id: int, request: UpdateUserBankInformationSchema ) -> Dict[str, Any]: ...
    def update_user_bank_account_sync( self, bank_account_id: int, request: UpdateUserBankInformationSchema ) -> Dict[str, Any]: ...
    async def update_user_verification( self, user_id: int, request: UserVerificationSchema ) -> PrivateUserResponse: ...
    def update_user_verification_sync( self, user_id: int, request: UserVerificationSchema ) -> PrivateUserResponse: ...
    async def update_vendor( self, vendor_id: int, request: UpdateVendorSchema ) -> PublicVendorResponse: ...
    async def update_vendor_status( self, vendor_id: int, request: UpdateVendorStatusSchema ) -> UpdateVendorStatusResponse: ...
    def update_vendor_status_sync( self, vendor_id: int, request: UpdateVendorStatusSchema ) -> UpdateVendorStatusResponse: ...
    def update_vendor_sync( self, vendor_id: int, request: UpdateVendorSchema ) -> PublicVendorResponse: ...
    async def verify_user_bank_account( self, user_id: int, request: UserVerifyBankInformationSchema ) -> Dict[str, Any]: ...
    async def verify_user_bank_account_otp( self, user_id: int, request: UserCardsOtpSchema ) -> Dict[str, Any]: ...
    def verify_user_bank_account_otp_sync( self, user_id: int, request: UserCardsOtpSchema ) -> Dict[str, Any]: ...
    def verify_user_bank_account_sync( self, user_id: int, request: UserVerifyBankInformationSchema ) -> Dict[str, Any]: ...
    async def verify_user_mobile_change_request( self, user_id: int, request: ChangeUserMobileConfirmSchema ) -> ResultResponse: ...
    def verify_user_mobile_change_request_sync( self, user_id: int, request: ChangeUserMobileConfirmSchema ) -> ResultResponse: ...
    async def verify_user_mobile_confirmation_request( self, user_id: int, request: ConfirmCurrentUserMobileConfirmSchema ) -> ResultResponse: ...
    def verify_user_mobile_confirmation_request_sync( self, user_id: int, request: ConfirmCurrentUserMobileConfirmSchema ) -> ResultResponse: ...
    async def create_chat( self, request: CreateChatRequest, x_creation_tags: Optional[str] = None ) -> CreateChatResponse: ...
    def create_chat_sync( self, request: CreateChatRequest, x_creation_tags: Optional[str] = None ) -> CreateChatResponse: ...
    async def create_message( self, request: MessageRequest, user_agent: Optional[str] = None ) -> MessageResponse: ...
    def create_message_sync( self, request: MessageRequest, user_agent: Optional[str] = None ) -> MessageResponse: ...
    async def delete_chats( self, request: DeleteChatsRequest ) -> BooleanResponse: ...
    def delete_chats_sync( self, request: DeleteChatsRequest ) -> BooleanResponse: ...
    async def delete_message( self, request: DeleteMessageRequest ) -> BooleanResponse: ...
    def delete_message_sync( self, request: DeleteMessageRequest ) -> BooleanResponse: ...
    async def delete_webhook(self, token: str) -> BotApiResponse: ...
    async def delete_webhook_delete(self, token: str) -> BotApiResponse: ...
    def delete_webhook_delete_sync(self, token: str) -> BotApiResponse: ...
    async def delete_webhook_post(self, token: str) -> BotApiResponse: ...
    def delete_webhook_post_sync(self, token: str) -> BotApiResponse: ...
    def delete_webhook_sync(self, token: str) -> BotApiResponse: ...
    async def edit_message( self, request: EditMessageRequest, x_client_info: Optional[str] = None ) -> EditMessageResponse: ...
    def edit_message_sync( self, request: EditMessageRequest, x_client_info: Optional[str] = None ) -> EditMessageResponse: ...
    async def forward_message( self, request: ForwardMessageRequest, user_agent: Optional[str] = None ) -> BooleanResponse: ...
    def forward_message_sync( self, request: ForwardMessageRequest, user_agent: Optional[str] = None ) -> BooleanResponse: ...
    async def get_chats( self, request: GetChatsRequest ) -> ChatListResponse: ...
    def get_chats_sync( self, request: GetChatsRequest ) -> ChatListResponse: ...
    async def get_me(self, token: str) -> BotApiResponse: ...
    async def get_me_post(self, token: str) -> BotApiResponse: ...
    def get_me_post_sync(self, token: str) -> BotApiResponse: ...
    def get_me_sync(self, token: str) -> BotApiResponse: ...
    async def get_messages( self, request: Optional[GetMessagesRequest] = None ) -> GetMessagesResponse: ...
    def get_messages_sync( self, request: Optional[GetMessagesRequest] = None ) -> GetMessagesResponse: ...
    async def get_unseen_chat_count(self) -> UnseenChatCountResponse: ...
    def get_unseen_chat_count_sync(self) -> UnseenChatCountResponse: ...
    async def get_webhook_info(self, token: str) -> BotApiResponse: ...
    async def get_webhook_info_post(self, token: str) -> BotApiResponse: ...
    def get_webhook_info_post_sync(self, token: str) -> BotApiResponse: ...
    def get_webhook_info_sync(self, token: str) -> BotApiResponse: ...
    async def log_out(self, token: str) -> BotApiResponse: ...
    async def log_out_post(self, token: str) -> BotApiResponse: ...
    def log_out_post_sync(self, token: str) -> BotApiResponse: ...
    def log_out_sync(self, token: str) -> BotApiResponse: ...
    async def create_invoice_payment( self, invoice_id: int, request: CreatePaymentRequestModel ) -> Dict[str, Any]: ...
    def create_invoice_payment_sync( self, invoice_id: int, request: CreatePaymentRequestModel ) -> Dict[str, Any]: ...
    async def create_payment_callback( self, payment_id: int, request: PaymentVerifyRequestModel ) -> Dict[str, Any]: ...
    def create_payment_callback_sync( self, payment_id: int, request: PaymentVerifyRequestModel ) -> Dict[str, Any]: ...
    async def get_baskets(self, refresh: bool = False) -> BasketResponse: ...
    def get_baskets_sync(self, refresh: bool = False) -> BasketResponse: ...
    async def get_payable_invoices( self, page: int, per_page: int ) -> Dict[str, Any]: ...
    def get_payable_invoices_sync( self, page: int, per_page: int ) -> Dict[str, Any]: ...
    async def get_payment_callback( self, payment_id: int, request: PaymentCallbackRequestModel ) -> Dict[str, Any]: ...
    def get_payment_callback_sync( self, payment_id: int, request: PaymentCallbackRequestModel ) -> Dict[str, Any]: ...
    async def get_product_variation_status(self, product_id: int) -> Dict[str, Any]: ...
    def get_product_variation_status_sync(self, product_id: int) -> Dict[str, Any]: ...
    async def get_unpaid_invoices( self, invoice_id: Optional[int] = None, status: Optional[UnpaidInvoiceStatusEnum] = None, page: int = 1, per_page: int = 20, sort: OrderEnum = OrderEnum.DESC ) -> Dict[str, Any]: ...
    def get_unpaid_invoices_sync( self, invoice_id: Optional[int] = None, status: Optional[UnpaidInvoiceStatusEnum] = None, page: int = 1, per_page: int = 20, sort: OrderEnum = OrderEnum.DESC ) -> Dict[str, Any]: ...
    async def get_customer_order(self, order_id: int) -> Order: ...
    async def get_customer_order_item(self, item_id: int) -> CustomerItemResponse: ...
    def get_customer_order_item_sync(self, item_id: int) -> CustomerItemResponse: ...
    async def get_customer_order_items( self, filters: Optional[ItemFilter] = None ) -> CustomerItemsResponse: ...
    def get_customer_order_items_sync( self, filters: Optional[ItemFilter] = None ) -> CustomerItemsResponse: ...
    async def get_customer_order_parcel_hints(self, order_id: int) -> ParcelHintsResponse: ...
    def get_customer_order_parcel_hints_sync(self, order_id: int) -> ParcelHintsResponse: ...
    def get_customer_order_sync(self, order_id: int) -> Order: ...
    async def get_customer_orders( self, filters: Optional[OrderFilter] = None ) -> OrdersResponse: ...
    def get_customer_orders_sync( self, filters: Optional[OrderFilter] = None ) -> OrdersResponse: ...
    async def get_order_parcel(self, parcel_id: int) -> ParcelResponse: ...
    def get_order_parcel_sync(self, parcel_id: int) -> ParcelResponse: ...
    async def get_orders_stats( self, resource_count: ResourceStats, vendor_id: Optional[int] = None, product_id: Optional[int] = None, customer_id: Optional[int] = None, coupon_code: Optional[str] = None, cache_control: Optional[str] = None ) -> OrderStatsResponse: ...
    def get_orders_stats_sync( self, resource_count: ResourceStats, vendor_id: Optional[int] = None, product_id: Optional[int] = None, customer_id: Optional[int] = None, coupon_code: Optional[str] = None, cache_control: Optional[str] = None ) -> OrderStatsResponse: ...
    async def get_vendor_orders_parcels( self, filters: Optional[OrderParcelFilter] = None ) -> ParcelsResponse: ...
    def get_vendor_orders_parcels_sync( self, filters: Optional[OrderParcelFilter] = None ) -> ParcelsResponse: ...
    async def search_products(self, request: ProductSearchModel) -> Dict[str, Any]: ...
    def search_products_sync(self, request: ProductSearchModel) -> Dict[str, Any]: ...
    async def upload_file( self, file: BinaryIO, file_type: UserUploadFileTypeEnum, custom_unique_name: Optional[str] = None, expire_minutes: Optional[int] = None ) -> FileResponse: ...
    def upload_file_sync( self, file: BinaryIO, file_type: UserUploadFileTypeEnum, custom_unique_name: Optional[str] = None, expire_minutes: Optional[int] = None ) -> FileResponse: ...
    async def create_expense( self, user_id: int, request: SpendCreditRequest, x_operator_id: Optional[int] = None ) -> SpendResponse: ...
    def create_expense_sync( self, user_id: int, request: SpendCreditRequest, x_operator_id: Optional[int] = None ) -> SpendResponse: ...
    async def delete_expense( self, user_id: int, expense_id: int, rollback_reason_id: int, x_operator_id: Optional[int] = None ) -> SpendResponse: ...
    async def delete_expense_by_ref( self, user_id: int, reason_id: int, reference_id: int, rollback_reason_id: int, x_operator_id: Optional[int] = None ) -> SpendResponse: ...
    def delete_expense_by_ref_sync( self, user_id: int, reason_id: int, reference_id: int, rollback_reason_id: int, x_operator_id: Optional[int] = None ) -> SpendResponse: ...
    def delete_expense_sync( self, user_id: int, expense_id: int, rollback_reason_id: int, x_operator_id: Optional[int] = None ) -> SpendResponse: ...
    async def get_balance( self, user_id: int, filters: List[BalanceFilter] = None, x_operator_id: Optional[int] = None ) -> Dict[str, Any]: ...
    def get_balance_sync( self, user_id: int, filters: List[BalanceFilter] = None, x_operator_id: Optional[int] = None ) -> Dict[str, Any]: ...
    async def get_expense( self, user_id: int, expense_id: int, x_operator_id: Optional[int] = None ) -> SpendResponse: ...
    async def get_expense_by_ref( self, user_id: int, reason_id: int, reference_id: int, x_operator_id: Optional[int] = None ) -> SpendResponse: ...
    def get_expense_by_ref_sync( self, user_id: int, reason_id: int, reference_id: int, x_operator_id: Optional[int] = None ) -> SpendResponse: ...
    def get_expense_sync( self, user_id: int, expense_id: int, x_operator_id: Optional[int] = None ) -> SpendResponse: ...
    async def get_transactions( self, user_id: int, page: int = 1, per_page: int = 50, x_operator_id: Optional[int] = None ) -> HistoryPaginationResponse: ...
    def get_transactions_sync( self, user_id: int, page: int = 1, per_page: int = 50, x_operator_id: Optional[int] = None ) -> HistoryPaginationResponse: ...
    async def create_webhook(self, request: CreateWebhookRequest) -> WebhookResource: ...
    async def create_webhook_service(self, request: CreateServiceRequest) -> ServiceResource: ...
    def create_webhook_service_sync(self, request: CreateServiceRequest) -> ServiceResource: ...
    def create_webhook_sync(self, request: CreateWebhookRequest) -> WebhookResource: ...
    async def get_registered_webhooks( self, page: Optional[int] = 1, per_page: Optional[int] = 10, service_id: Optional[int] = None ) -> WebhookRegisteredOnListResource: ...
    def get_registered_webhooks_sync( self, page: Optional[int] = 1, per_page: Optional[int] = 10, service_id: Optional[int] = None ) -> WebhookRegisteredOnListResource: ...
    async def get_webhook_customers( self, page: Optional[int] = 1, per_page: Optional[int] = 10, webhook_id: Optional[int] = None ) -> ClientListResource: ...
    def get_webhook_customers_sync( self, page: Optional[int] = 1, per_page: Optional[int] = 10, webhook_id: Optional[int] = None ) -> ClientListResource: ...
    async def get_webhook_events(self) -> EventListResource: ...
    def get_webhook_events_sync(self) -> EventListResource: ...
    async def get_webhook_logs(self, webhook_id: int) -> WebhookLogListResource: ...
    def get_webhook_logs_sync(self, webhook_id: int) -> WebhookLogListResource: ...
    async def get_webhook_services(self) -> ServiceListResource: ...
    def get_webhook_services_sync(self) -> ServiceListResource: ...
    async def get_webhooks( self, service_id: Optional[int] = None, event_ids: Optional[str] = None ) -> WebhookListResource: ...
    def get_webhooks_sync( self, service_id: Optional[int] = None, event_ids: Optional[str] = None ) -> WebhookListResource: ...
    async def register_webhook(self, request: RegisterClientRequest) -> ClientResource: ...
    def register_webhook_sync(self, request: RegisterClientRequest) -> ClientResource: ...
    async def unregister_webhook(self, request: UnRegisterClientRequest) -> UnRegisterClientResponse: ...
    def unregister_webhook_sync(self, request: UnRegisterClientRequest) -> UnRegisterClientResponse: ...
    async def update_webhook( self, webhook_id: int, request: UpdateWebhookRequest ) -> WebhookResource: ...
    def update_webhook_sync( self, webhook_id: int, request: UpdateWebhookRequest ) -> WebhookResource: ...