from _typeshed import Incomplete
from typing import Any

from braintree.customer import Customer as Customer
from braintree.error_result import ErrorResult as ErrorResult
from braintree.exceptions.not_found_error import NotFoundError as NotFoundError
from braintree.ids_search import IdsSearch as IdsSearch
from braintree.resource import Resource as Resource
from braintree.resource_collection import ResourceCollection as ResourceCollection
from braintree.successful_result import SuccessfulResult as SuccessfulResult

class CustomerGateway:
    gateway: Any
    config: Any
    def __init__(self, gateway) -> None: ...
    def all(self): ...
    def create(self, params: Incomplete | None = None): ...
    def delete(self, customer_id): ...
    def find(self, customer_id, association_filter_id: Incomplete | None = None): ...
    def search(self, *query): ...
    def update(self, customer_id, params: Incomplete | None = None): ...
