"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);

// src/resources/bank-accounts/index.ts
var bank_accounts_exports = {};
__export(bank_accounts_exports, {
  createBankAccountsResource: () => createBankAccountsResource
});
module.exports = __toCommonJS(bank_accounts_exports);
function createBankAccountsResource(client) {
  return {
    list({
      instanceId,
      receiverId
    }) {
      return client.get(`/instances/${instanceId}/receivers/${receiverId}/bank-accounts`);
    },
    createPix({
      instanceId,
      receiverId,
      name,
      pix_key
    }) {
      return client.post(`/instances/${instanceId}/receivers/${receiverId}/bank-accounts`, {
        type: "pix",
        name,
        pix_key
      });
    },
    createArgentinaTransfers({
      instanceId,
      receiverId,
      beneficiary_name,
      name,
      transfers_account,
      transfers_type
    }) {
      return client.post(`/instances/${instanceId}/receivers/${receiverId}/bank-accounts`, {
        type: "transfers_bitso",
        beneficiary_name,
        name,
        transfers_account,
        transfers_type
      });
    },
    createSpei({
      instanceId,
      receiverId,
      beneficiary_name,
      name,
      spei_clabe,
      spei_institution_code,
      spei_protocol
    }) {
      return client.post(`/instances/${instanceId}/receivers/${receiverId}/bank-accounts`, {
        type: "spei_bitso",
        beneficiary_name,
        name,
        spei_clabe,
        spei_institution_code,
        spei_protocol
      });
    },
    createColombiaAch({
      instanceId,
      receiverId,
      name,
      account_type,
      ach_cop_beneficiary_first_name,
      ach_cop_beneficiary_last_name,
      ach_cop_document_id,
      ach_cop_document_type,
      ach_cop_email,
      ach_cop_bank_code,
      ach_cop_bank_account
    }) {
      return client.post(`/instances/${instanceId}/receivers/${receiverId}/bank-accounts`, {
        type: "ach_cop_bitso",
        name,
        account_type,
        ach_cop_beneficiary_first_name,
        ach_cop_beneficiary_last_name,
        ach_cop_document_id,
        ach_cop_document_type,
        ach_cop_email,
        ach_cop_bank_code,
        ach_cop_bank_account
      });
    },
    createAch({
      instanceId,
      receiverId,
      name,
      account_class,
      account_number,
      account_type,
      beneficiary_name,
      routing_number
    }) {
      return client.post(`/instances/${instanceId}/receivers/${receiverId}/bank-accounts`, {
        type: "ach",
        name,
        account_class,
        account_number,
        account_type,
        beneficiary_name,
        routing_number
      });
    },
    createWire({
      instanceId,
      receiverId,
      name,
      account_number,
      beneficiary_name,
      routing_number,
      address_line_1,
      address_line_2,
      city,
      state_province_region,
      country,
      postal_code
    }) {
      return client.post(`/instances/${instanceId}/receivers/${receiverId}/bank-accounts`, {
        type: "wire",
        name,
        account_number,
        beneficiary_name,
        routing_number,
        address_line_1,
        address_line_2,
        city,
        state_province_region,
        country,
        postal_code
      });
    },
    createInternationalSwift({
      instanceId,
      receiverId,
      name,
      swift_account_holder_name,
      swift_account_number_iban,
      swift_bank_address_line_1,
      swift_bank_address_line_2,
      swift_bank_city,
      swift_bank_country,
      swift_bank_name,
      swift_bank_postal_code,
      swift_bank_state_province_region,
      swift_beneficiary_address_line_1,
      swift_beneficiary_address_line_2,
      swift_beneficiary_city,
      swift_beneficiary_country,
      swift_beneficiary_postal_code,
      swift_beneficiary_state_province_region,
      swift_code_bic,
      swift_intermediary_bank_account_number_iban,
      swift_intermediary_bank_country,
      swift_intermediary_bank_name,
      swift_intermediary_bank_swift_code_bic
    }) {
      return client.post(`/instances/${instanceId}/receivers/${receiverId}/bank-accounts`, {
        type: "international_swift",
        name,
        swift_account_holder_name,
        swift_account_number_iban,
        swift_bank_address_line_1,
        swift_bank_address_line_2,
        swift_bank_city,
        swift_bank_country,
        swift_bank_name,
        swift_bank_postal_code,
        swift_bank_state_province_region,
        swift_beneficiary_address_line_1,
        swift_beneficiary_address_line_2,
        swift_beneficiary_city,
        swift_beneficiary_country,
        swift_beneficiary_postal_code,
        swift_beneficiary_state_province_region,
        swift_code_bic,
        swift_intermediary_bank_account_number_iban,
        swift_intermediary_bank_country,
        swift_intermediary_bank_name,
        swift_intermediary_bank_swift_code_bic
      });
    },
    get({
      instanceId,
      receiverId,
      id
    }) {
      return client.get(
        `/instances/${instanceId}/receivers/${receiverId}/bank-accounts/${id}`
      );
    },
    delete({
      instanceId,
      receiverId,
      id
    }) {
      return client.delete(
        `/instances/${instanceId}/receivers/${receiverId}/bank-accounts/${id}`
      );
    }
  };
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
  createBankAccountsResource
});
