import { I as InternalApiClient, S as StablecoinToken, B as BlindpayApiResponse } from '../../api-client-Cw2mNJeR.js';

type VirtualAccount = {
    id: string;
    us: {
        ach: {
            routing_number: string;
            account_number: string;
        };
        wire: {
            routing_number: string;
            account_number: string;
        };
        rtp: {
            routing_number: string;
            account_number: string;
        };
        swift_bic_code: string;
        account_type: string;
        beneficiary: {
            name: string;
            address_line_1: string;
            address_line_2: string;
        };
        receiving_bank: {
            name: string;
            address_line_1: string;
            address_line_2: string;
        };
    };
    token: StablecoinToken;
    blockchain_wallet_id: string;
};
type CreateVirtualAccountInput = {
    instanceId: string;
    receiverId: string;
    blockchain_wallet_id: string;
    token: StablecoinToken;
};
type CreateVirtualAccountResponse = VirtualAccount;
type GetVirtualAccountInput = {
    instanceId: string;
    receiverId: string;
};
type GetVirtualAccountResponse = VirtualAccount;
type UpdateVirtualAccountInput = {
    instanceId: string;
    receiverId: string;
    blockchain_wallet_id: string;
    token: StablecoinToken;
};
declare function createVirtualAccountsResource(client: InternalApiClient): {
    update({ instanceId, receiverId, ...data }: UpdateVirtualAccountInput): Promise<BlindpayApiResponse<void>>;
    create({ instanceId, receiverId, ...data }: CreateVirtualAccountInput): Promise<BlindpayApiResponse<CreateVirtualAccountResponse>>;
    get({ instanceId, receiverId, }: GetVirtualAccountInput): Promise<BlindpayApiResponse<GetVirtualAccountResponse>>;
};

export { type CreateVirtualAccountInput, type CreateVirtualAccountResponse, type GetVirtualAccountInput, type GetVirtualAccountResponse, type UpdateVirtualAccountInput, type VirtualAccount, createVirtualAccountsResource };
