from _typeshed import Incomplete

from braintree.error_result import ErrorResult
from braintree.resource_collection import ResourceCollection
from braintree.successful_result import SuccessfulResult
from braintree.transaction import Transaction

class TransactionGateway:
    gateway: Incomplete
    config: Incomplete
    def __init__(self, gateway) -> None: ...
    def adjust_authorization(self, transaction_id, amount) -> SuccessfulResult | ErrorResult | None: ...
    def clone_transaction(self, transaction_id, params) -> SuccessfulResult | ErrorResult | None: ...
    def cancel_release(self, transaction_id) -> SuccessfulResult | ErrorResult | None: ...
    def create(self, params) -> SuccessfulResult | ErrorResult | None: ...
    def credit(self, params) -> SuccessfulResult | ErrorResult | None: ...
    def find(self, transaction_id: str) -> Transaction: ...
    def refund(self, transaction_id, amount_or_options=None) -> SuccessfulResult | ErrorResult | None: ...
    def sale(self, params) -> SuccessfulResult | ErrorResult | None: ...
    def search(self, *query) -> ResourceCollection: ...
    def submit_for_settlement(self, transaction_id, amount=None, params=None) -> SuccessfulResult | ErrorResult | None: ...
    def update_details(self, transaction_id, params=None) -> SuccessfulResult | ErrorResult | None: ...
    def submit_for_partial_settlement(self, transaction_id, amount, params=None) -> SuccessfulResult | ErrorResult | None: ...
    def package_tracking(self, transaction_id, params=None) -> SuccessfulResult | ErrorResult | None: ...
    def void(self, transaction_id, params=None) -> SuccessfulResult | ErrorResult | None: ...
