import { CommunicatorConfiguration } from '../CommunicatorConfiguration.js';
import type { CancelPaymentRequest, CancelPaymentResponse, CapturePaymentRequest, CapturePaymentResponse, CompletePaymentRequest, CompletePaymentResponse, CreatePaymentResponse, FundSplitRequest, FundSplitResponse, PaymentExecution, PaymentExecutionRequest, RefundPaymentResponse, RefundRequest } from '../models/index.js';
import type { PausePaymentRequest } from '../models/PausePaymentRequest.js';
import type { PausePaymentResponse } from '../models/PausePaymentResponse.js';
import type { RefreshPaymentRequest } from '../models/RefreshPaymentRequest.js';
import { BaseApiClient } from './BaseApiClient.js';
export declare class PaymentExecutionApiClient extends BaseApiClient {
    constructor(config: CommunicatorConfiguration);
    createPayment(merchantId: string, commerceCaseId: string, checkoutId: string, payload: PaymentExecutionRequest): Promise<CreatePaymentResponse>;
    capturePayment(merchantId: string, commerceCaseId: string, checkoutId: string, paymentExecutionId: string, payload: CapturePaymentRequest): Promise<CapturePaymentResponse>;
    cancelPayment(merchantId: string, commerceCaseId: string, checkoutId: string, paymentExecutionId: string, payload: CancelPaymentRequest): Promise<CancelPaymentResponse>;
    refundPayment(merchantId: string, commerceCaseId: string, checkoutId: string, paymentExecutionId: string, payload: RefundRequest): Promise<RefundPaymentResponse>;
    completePayment(merchantId: string, commerceCaseId: string, checkoutId: string, paymentExecutionId: string, payload: CompletePaymentRequest): Promise<CompletePaymentResponse>;
    pausePayment(merchantId: string, commerceCaseId: string, checkoutId: string, paymentExecutionId: string, payload?: PausePaymentRequest): Promise<PausePaymentResponse>;
    refreshPayment(merchantId: string, commerceCaseId: string, checkoutId: string, paymentExecutionId: string, payload?: RefreshPaymentRequest): Promise<PaymentExecution>;
    createFundSplit(merchantId: string, commerceCaseId: string, checkoutId: string, paymentExecutionId: string, eventId: string, payload: FundSplitRequest): Promise<FundSplitResponse>;
}
