PaymentClient: {
    preRegisterPayment: ((options: {
        paymentId: string;
        totalAmount?: number;
        taxFreeAmount?: number;
        currency?: Currency;
    }) => Promise<PreRegisterPaymentResponse>);
    getPayment: ((paymentId: string) => Promise<Payment>);
    getPayments: ((options?: {
        page?: PageInput;
        filter?: PaymentFilterInput;
    }) => Promise<GetPaymentsResponse>);
    getAllPaymentsByCursor: ((options?: {
        from?: string;
        until?: string;
        cursor?: string;
        size?: number;
    }) => Promise<GetAllPaymentsByCursorResponse>);
    cancelPayment: ((options: {
        paymentId: string;
        amount?: number;
        taxFreeAmount?: number;
        vatAmount?: number;
        reason: string;
        requester?: CancelRequester;
        currentCancellableAmount?: number;
        refundAccount?: CancelPaymentBodyRefundAccount;
    }) => Promise<CancelPaymentResponse>);
    payWithBillingKey: ((options: {
        paymentId: string;
        billingKey: string;
        channelKey?: string;
        orderName: string;
        customer?: CustomerInput;
        customData?: string;
        amount: PaymentAmountInput;
        currency: Currency;
        installmentMonth?: number;
        useFreeInterestFromMerchant?: boolean;
        useCardPoint?: boolean;
        cashReceipt?: CashReceiptInput;
        country?: Country;
        noticeUrls?: string[];
        products?: PaymentProduct[];
        productCount?: number;
        productType?: PaymentProductType;
        shippingAddress?: SeparatedAddressInput;
        promotionId?: string;
        bypass?: object;
    }) => Promise<PayWithBillingKeyResponse>);
    payInstantly: ((options: {
        paymentId: string;
        channelKey?: string;
        channelGroupId?: string;
        method: InstantPaymentMethodInput;
        orderName: string;
        isCulturalExpense?: boolean;
        isEscrow?: boolean;
        customer?: CustomerInput;
        customData?: string;
        amount: PaymentAmountInput;
        currency: Currency;
        country?: Country;
        noticeUrls?: string[];
        products?: PaymentProduct[];
        productCount?: number;
        productType?: PaymentProductType;
        shippingAddress?: SeparatedAddressInput;
        promotionId?: string;
    }) => Promise<PayInstantlyResponse>);
    closeVirtualAccount: ((paymentId: string) => Promise<CloseVirtualAccountResponse>);
    applyEscrowLogistics: ((options: {
        paymentId: string;
        sender?: PaymentEscrowSenderInput;
        receiver?: PaymentEscrowReceiverInput;
        logistics: PaymentLogistics;
        sendEmail?: boolean;
        products?: PaymentProduct[];
    }) => Promise<ApplyEscrowLogisticsResponse>);
    modifyEscrowLogistics: ((options: {
        paymentId: string;
        sender?: PaymentEscrowSenderInput;
        receiver?: PaymentEscrowReceiverInput;
        logistics: PaymentLogistics;
        sendEmail?: boolean;
        products?: PaymentProduct[];
    }) => Promise<ModifyEscrowLogisticsResponse>);
    confirmEscrow: ((paymentId: string, fromStore?: boolean) => Promise<ConfirmEscrowResponse>);
    resendWebhook: ((paymentId: string, webhookId?: string) => Promise<ResendWebhookResponse>);
    registerStoreReceipt: ((paymentId: string, items: RegisterStoreReceiptBodyItem[]) => Promise<RegisterStoreReceiptResponse>);
    billingKey: BillingKeyClient;
    cashReceipt: CashReceiptClient;
    paymentSchedule: PaymentScheduleClient;
    promotion: PromotionClient;
}

Type declaration