import Service from "../../service";
import Client from "../../client";
import { ApplePayInfo, PaymentMethod, PaymentMethodResponse, PaymentMethodSetupInfo, UpdatePaymentMethodInfo } from "../../typings/management/models";
import { IRequest } from "../../typings/requestOptions";
export declare class PaymentMethodsMerchantLevelApi extends Service {
    private readonly API_BASEPATH;
    private baseUrl;
    constructor(client: Client);
    /**
    * @summary Add an Apple Pay domain
    * @param merchantId {@link string } The unique identifier of the merchant account.
    * @param paymentMethodId {@link string } The unique identifier of the payment method.
    * @param applePayInfo {@link ApplePayInfo }
    * @param requestOptions {@link IRequest.Options }
    */
    addApplePayDomain(merchantId: string, paymentMethodId: string, applePayInfo: ApplePayInfo, requestOptions?: IRequest.Options): Promise<void>;
    /**
    * @summary Get all payment methods
    * @param merchantId {@link string } The unique identifier of the merchant account.
    * @param requestOptions {@link IRequest.Options }
    * @param storeId {@link string } The unique identifier of the store for which to return the payment methods.
    * @param businessLineId {@link string } The unique identifier of the Business Line for which to return the payment methods.
    * @param pageSize {@link number } The number of items to have on a page, maximum 100. The default is 10 items on a page.
    * @param pageNumber {@link number } The number of the page to fetch.
    * @return {@link PaymentMethodResponse }
    */
    getAllPaymentMethods(merchantId: string, storeId?: string, businessLineId?: string, pageSize?: number, pageNumber?: number, requestOptions?: IRequest.Options): Promise<PaymentMethodResponse>;
    /**
    * @summary Get Apple Pay domains
    * @param merchantId {@link string } The unique identifier of the merchant account.
    * @param paymentMethodId {@link string } The unique identifier of the payment method.
    * @param requestOptions {@link IRequest.Options }
    * @return {@link ApplePayInfo }
    */
    getApplePayDomains(merchantId: string, paymentMethodId: string, requestOptions?: IRequest.Options): Promise<ApplePayInfo>;
    /**
    * @summary Get payment method details
    * @param merchantId {@link string } The unique identifier of the merchant account.
    * @param paymentMethodId {@link string } The unique identifier of the payment method.
    * @param requestOptions {@link IRequest.Options }
    * @return {@link PaymentMethod }
    */
    getPaymentMethodDetails(merchantId: string, paymentMethodId: string, requestOptions?: IRequest.Options): Promise<PaymentMethod>;
    /**
    * @summary Request a payment method
    * @param merchantId {@link string } The unique identifier of the merchant account.
    * @param paymentMethodSetupInfo {@link PaymentMethodSetupInfo }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link PaymentMethod }
    */
    requestPaymentMethod(merchantId: string, paymentMethodSetupInfo: PaymentMethodSetupInfo, requestOptions?: IRequest.Options): Promise<PaymentMethod>;
    /**
    * @summary Update a payment method
    * @param merchantId {@link string } The unique identifier of the merchant account.
    * @param paymentMethodId {@link string } The unique identifier of the payment method.
    * @param updatePaymentMethodInfo {@link UpdatePaymentMethodInfo }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link PaymentMethod }
    */
    updatePaymentMethod(merchantId: string, paymentMethodId: string, updatePaymentMethodInfo: UpdatePaymentMethodInfo, requestOptions?: IRequest.Options): Promise<PaymentMethod>;
}
