import { R as Rail, C as Country, B as BlindpayApiResponse, a as BankAccountType, A as AccountClass, b as AchCopDocument, c as ArgentinaTransfers, d as BusinessIndustry } from '../../index.d-Gvol1faW.js';
import { I as InternalApiClient } from '../../api-client-Bklw4zQi.js';
import { SpeiProtocol } from '../payouts/index.js';

type RecipientRelationship = "first_party" | "employee" | "independent_contractor" | "vendor_or_supplier" | "subsidiary_or_affiliate" | "merchant_or_partner" | "customer" | "landlord" | "family" | "other";
type ListBankAccountsInput = {
    receiver_id: string;
    status?: string;
    type?: Rail;
    name?: string;
    bank_account_id?: string;
    country?: Country;
};
type ListBankAccountsResponse = {
    data: Array<{
        id: string;
        type: Rail;
        name: string;
        pix_key?: string;
        beneficiary_name?: string;
        routing_number?: string;
        account_number?: string;
        account_type?: BankAccountType;
        account_class?: AccountClass;
        address_line_1?: string;
        address_line_2?: string;
        city?: string;
        state_province_region?: string;
        country?: Country;
        postal_code?: string;
        spei_protocol?: string;
        spei_institution_code?: string;
        spei_clabe?: string;
        transfers_type?: "CVU" | "CBU" | "ALIAS";
        transfers_account?: string;
        ach_cop_beneficiary_first_name?: string;
        ach_cop_beneficiary_last_name?: string;
        ach_cop_document_id?: string;
        ach_cop_document_type?: AchCopDocument;
        ach_cop_email?: string;
        ach_cop_bank_code?: string;
        ach_cop_bank_account?: string;
        swift_code_bic?: string;
        swift_account_holder_name?: string;
        swift_account_number_iban?: string;
        swift_beneficiary_address_line_1?: string;
        swift_beneficiary_address_line_2?: string;
        swift_beneficiary_country?: Country;
        swift_beneficiary_city?: string;
        swift_beneficiary_state_province_region?: string;
        swift_beneficiary_postal_code?: string;
        swift_bank_name?: string;
        swift_bank_address_line_1?: string;
        swift_bank_address_line_2?: string;
        swift_bank_country?: Country;
        swift_bank_city?: string;
        swift_bank_state_province_region?: string;
        swift_bank_postal_code?: string;
        swift_intermediary_bank_swift_code_bic?: string;
        swift_intermediary_bank_account_number_iban?: string;
        swift_intermediary_bank_name?: string;
        swift_intermediary_bank_country?: Country;
        pix_safe_bank_code?: string;
        pix_safe_branch_code?: string;
        pix_safe_cpf_cnpj?: string;
        tron_wallet_hash?: string;
        offramp_wallets?: Array<{
            address: string;
            id: string;
            network: "tron";
            external_id: string;
        }>;
        business_industry?: string | null;
        phone_number?: string | null;
        tax_id?: string | null;
        date_of_birth?: string | null;
        status?: string | null;
        recipient_relationship?: RecipientRelationship | null;
        swift_payment_code?: string | null;
        created_at: string;
    }>;
};
type GetBankAccountInput = {
    receiver_id: string;
    id: string;
};
type GetBankAccountResponse = {
    id: string;
    receiver_id: string;
    account_holder_name: string;
    account_number: string;
    routing_number: string;
    account_type: BankAccountType;
    bank_name: string;
    swift_code?: string | null;
    iban?: string | null;
    is_primary: boolean;
    created_at: string;
    updated_at: string;
};
type DeleteBankAccountInput = {
    receiver_id: string;
    id: string;
};
type CreatePixInput = {
    receiver_id: string;
    name: string;
    pix_key: string;
};
type CreatePixResponse = {
    id: string;
    type: "pix";
    name: string;
    pix_key: string;
    created_at: string;
};
type CreatePixSafeInput = {
    receiver_id: string;
    name: string;
    beneficiary_name: string;
    account_number: string;
    account_type: BankAccountType;
    pix_safe_bank_code: string;
    pix_safe_branch_code: string;
    pix_safe_cpf_cnpj: string;
};
type CreatePixSafeResponse = {
    id: string;
    type: "pix_safe";
    name: string;
    beneficiary_name: string;
    account_number: string;
    account_type: BankAccountType;
    pix_safe_bank_code: string;
    pix_safe_branch_code: string;
    pix_safe_cpf_cnpj: string;
    created_at: string;
};
type CreateArgentinaTransfersInput = {
    receiver_id: string;
    name: string;
    beneficiary_name: string;
    transfers_account: string;
    transfers_type: ArgentinaTransfers;
};
type CreateArgentinaTransfersResponse = {
    id: string;
    type: "transfers_bitso";
    name: string;
    beneficiary_name: string;
    transfers_type: ArgentinaTransfers;
    transfers_account: string;
    created_at: string;
};
type CreateSpeiInput = {
    receiver_id: string;
    beneficiary_name: string;
    name: string;
    spei_clabe: string;
    spei_institution_code: string;
    spei_protocol: SpeiProtocol;
};
type CreateSpeiResponse = {
    id: string;
    type: "spei_bitso";
    name: string;
    beneficiary_name: string;
    spei_protocol: SpeiProtocol;
    spei_institution_code: string;
    spei_clabe: string;
    created_at: string;
};
type CreateColombiaAchInput = {
    receiver_id: string;
    name: string;
    account_type: BankAccountType;
    ach_cop_beneficiary_first_name: string;
    ach_cop_beneficiary_last_name: string;
    ach_cop_document_id: string;
    ach_cop_document_type: AchCopDocument;
    ach_cop_email: string;
    ach_cop_bank_code: string;
    ach_cop_bank_account: string;
};
type CreateColombiaAchResponse = {
    id: string;
    type: "ach_cop_bitso";
    name: string;
    account_type: BankAccountType;
    ach_cop_beneficiary_first_name: string;
    ach_cop_beneficiary_last_name: string;
    ach_cop_document_id: string;
    ach_cop_document_type: AchCopDocument;
    ach_cop_email: string;
    ach_cop_bank_code: string;
    ach_cop_bank_account: string;
    created_at: string;
};
type CreateAchInput = {
    receiver_id: string;
    name: string;
    account_class: AccountClass;
    account_number: string;
    account_type: BankAccountType;
    beneficiary_name: string;
    routing_number: string;
    recipient_relationship: RecipientRelationship;
    address_line_1: string;
    city: string;
    state_province_region: string;
    country: Country;
    postal_code: string;
    address_line_2?: string;
    business_industry?: BusinessIndustry;
    phone_number?: string;
    tax_id?: string;
    date_of_birth?: string;
};
type CreateAchResponse = {
    id: string;
    type: "ach";
    name: string;
    beneficiary_name: string;
    routing_number: string;
    account_number: string;
    account_type: BankAccountType;
    account_class: AccountClass;
    recipient_relationship: RecipientRelationship;
    address_line_1: string | null;
    address_line_2: string | null;
    city: string | null;
    state_province_region: string | null;
    country: Country | null;
    postal_code: string | null;
    ach_cop_beneficiary_first_name: string | null;
    ach_cop_beneficiary_last_name: string | null;
    ach_cop_document_id: string | null;
    ach_cop_document_type: AchCopDocument | null;
    ach_cop_email: string | null;
    ach_cop_bank_code: string | null;
    ach_cop_bank_account: string | null;
    created_at: string;
};
type CreateWireInput = {
    receiver_id: string;
    name: string;
    account_class: AccountClass;
    account_number: string;
    beneficiary_name: string;
    routing_number: string;
    recipient_relationship: RecipientRelationship;
    address_line_1: string;
    address_line_2?: string;
    city: string;
    state_province_region: string;
    country: Country;
    postal_code: string;
    business_industry?: BusinessIndustry;
    phone_number?: string;
    tax_id?: string;
    date_of_birth?: string;
};
type CreateWireResponse = {
    id: string;
    type: "wire";
    name: string;
    beneficiary_name: string;
    routing_number: string;
    account_number: string;
    account_class: AccountClass;
    recipient_relationship: RecipientRelationship;
    address_line_1: string;
    address_line_2: string | null;
    city: string;
    state_province_region: string;
    country: Country;
    postal_code: string;
    created_at: string;
};
type CreateInternationalSwiftInput = {
    receiver_id: string;
    name: string;
    account_class: AccountClass;
    recipient_relationship: RecipientRelationship;
    swift_account_holder_name: string;
    swift_account_number_iban: string;
    swift_bank_address_line_1: string;
    swift_bank_address_line_2?: string;
    swift_bank_city: string;
    swift_bank_country: Country;
    swift_bank_name: string;
    swift_bank_postal_code: string;
    swift_bank_state_province_region: string;
    swift_beneficiary_address_line_1: string;
    swift_beneficiary_address_line_2?: string;
    swift_beneficiary_city: string;
    swift_beneficiary_country: Country;
    swift_beneficiary_postal_code: string;
    swift_beneficiary_state_province_region: string;
    swift_code_bic: string;
    swift_intermediary_bank_account_number_iban?: string | null;
    swift_intermediary_bank_country?: Country | null;
    swift_intermediary_bank_name?: string | null;
    swift_intermediary_bank_swift_code_bic?: string | null;
    swift_payment_code?: string;
    business_industry?: BusinessIndustry;
    phone_number?: string;
    tax_id?: string;
    date_of_birth?: string;
};
type CreateInternationalSwiftResponse = {
    id: string;
    type: "international_swift";
    name: string;
    beneficiary_name: string | null;
    account_class: AccountClass;
    recipient_relationship: RecipientRelationship;
    address_line_1: string | null;
    address_line_2: string | null;
    city: string | null;
    state_province_region: string | null;
    country: Country | null;
    postal_code: string | null;
    swift_code_bic: string;
    swift_account_holder_name: string;
    swift_account_number_iban: string;
    swift_beneficiary_address_line_1: string;
    swift_beneficiary_address_line_2: string | null;
    swift_beneficiary_country: Country;
    swift_beneficiary_city: string;
    swift_beneficiary_state_province_region: string;
    swift_beneficiary_postal_code: string;
    swift_bank_name: string;
    swift_bank_address_line_1: string;
    swift_bank_address_line_2: string | null;
    swift_bank_country: Country;
    swift_bank_city: string;
    swift_bank_state_province_region: string;
    swift_bank_postal_code: string;
    swift_intermediary_bank_swift_code_bic: string | null;
    swift_intermediary_bank_account_number_iban: string | null;
    swift_intermediary_bank_name: string | null;
    swift_intermediary_bank_country: Country | null;
    swift_payment_code: string | null;
    created_at: string;
};
type CreateRtpInput = {
    receiver_id: string;
    name: string;
    account_class: AccountClass;
    beneficiary_name: string;
    routing_number: string;
    account_number: string;
    recipient_relationship: RecipientRelationship;
    address_line_1: string;
    address_line_2?: string;
    city: string;
    state_province_region: string;
    country: Country;
    postal_code: string;
    business_industry?: BusinessIndustry;
    phone_number?: string;
    tax_id?: string;
    date_of_birth?: string;
};
type CreateRtpResponse = {
    id: string;
    type: "rtp";
    name: string;
    beneficiary_name: string;
    routing_number: string;
    account_number: string;
    account_class: AccountClass;
    recipient_relationship: RecipientRelationship;
    address_line_1: string;
    address_line_2: string | null;
    city: string;
    state_province_region: string;
    country: Country;
    postal_code: string;
    created_at: string;
};
declare function createBankAccountsResource(instanceId: string, client: InternalApiClient): {
    list({ receiver_id, ...params }: ListBankAccountsInput): Promise<BlindpayApiResponse<ListBankAccountsResponse>>;
    get({ receiver_id, id, }: GetBankAccountInput): Promise<BlindpayApiResponse<GetBankAccountResponse>>;
    delete({ receiver_id, id }: DeleteBankAccountInput): Promise<BlindpayApiResponse<void>>;
    createPix({ receiver_id, ...data }: CreatePixInput): Promise<BlindpayApiResponse<CreatePixResponse>>;
    createPixSafe({ receiver_id, ...data }: CreatePixSafeInput): Promise<BlindpayApiResponse<CreatePixSafeResponse>>;
    createArgentinaTransfers({ receiver_id, ...data }: CreateArgentinaTransfersInput): Promise<BlindpayApiResponse<CreateArgentinaTransfersResponse>>;
    createSpei({ receiver_id, ...data }: CreateSpeiInput): Promise<BlindpayApiResponse<CreateSpeiResponse>>;
    createColombiaAch({ receiver_id, ...data }: CreateColombiaAchInput): Promise<BlindpayApiResponse<CreateColombiaAchResponse>>;
    createAch({ receiver_id, ...data }: CreateAchInput): Promise<BlindpayApiResponse<CreateAchResponse>>;
    createWire({ receiver_id, ...data }: CreateWireInput): Promise<BlindpayApiResponse<CreateWireResponse>>;
    createInternationalSwift({ receiver_id, ...data }: CreateInternationalSwiftInput): Promise<BlindpayApiResponse<CreateInternationalSwiftResponse>>;
    createRtp({ receiver_id, ...data }: CreateRtpInput): Promise<BlindpayApiResponse<CreateRtpResponse>>;
};

export { type CreateAchInput, type CreateAchResponse, type CreateArgentinaTransfersInput, type CreateArgentinaTransfersResponse, type CreateColombiaAchInput, type CreateColombiaAchResponse, type CreateInternationalSwiftInput, type CreateInternationalSwiftResponse, type CreatePixInput, type CreatePixResponse, type CreatePixSafeInput, type CreatePixSafeResponse, type CreateRtpInput, type CreateRtpResponse, type CreateSpeiInput, type CreateSpeiResponse, type CreateWireInput, type CreateWireResponse, type DeleteBankAccountInput, type GetBankAccountInput, type GetBankAccountResponse, type ListBankAccountsInput, type ListBankAccountsResponse, type RecipientRelationship, createBankAccountsResource };
