import { B as BlindpayApiResponse, N as Network, S as StablecoinToken } from '../../index.d-Gvol1faW.js';
import { I as InternalApiClient } from '../../api-client-Bklw4zQi.js';

type CustodialWallet = {
    id: string;
    name: string;
    external_id: string | null;
    address: string | null;
    network: Network;
    created_at: string;
};
type CreateCustodialWalletInput = {
    receiver_id: string;
    name: string;
    network: Network;
    external_id?: string | null;
};
type CreateCustodialWalletResponse = CustodialWallet;
type ListCustodialWalletsInput = string;
type ListCustodialWalletsResponse = CustodialWallet[];
type GetCustodialWalletInput = {
    receiver_id: string;
    id: string;
};
type GetCustodialWalletResponse = CustodialWallet;
type WalletTokenBalance = {
    address: string;
    id: string;
    symbol: StablecoinToken;
    amount: number;
};
type GetCustodialWalletBalanceInput = {
    receiver_id: string;
    id: string;
};
type GetCustodialWalletBalanceResponse = {
    USDC: WalletTokenBalance;
    USDT: WalletTokenBalance;
    USDB: WalletTokenBalance;
};
type DeleteCustodialWalletInput = {
    receiver_id: string;
    id: string;
};
declare function createCustodialWalletsResource(instanceId: string, client: InternalApiClient): {
    list(receiver_id: ListCustodialWalletsInput): Promise<BlindpayApiResponse<ListCustodialWalletsResponse>>;
    get({ receiver_id, id, }: GetCustodialWalletInput): Promise<BlindpayApiResponse<GetCustodialWalletResponse>>;
    create({ receiver_id, ...data }: CreateCustodialWalletInput): Promise<BlindpayApiResponse<CreateCustodialWalletResponse>>;
    getBalance({ receiver_id, id, }: GetCustodialWalletBalanceInput): Promise<BlindpayApiResponse<GetCustodialWalletBalanceResponse>>;
    delete({ receiver_id, id, }: DeleteCustodialWalletInput): Promise<BlindpayApiResponse<{
        success: boolean;
    }>>;
};

export { type CreateCustodialWalletInput, type CreateCustodialWalletResponse, type CustodialWallet, type DeleteCustodialWalletInput, type GetCustodialWalletBalanceInput, type GetCustodialWalletBalanceResponse, type GetCustodialWalletInput, type GetCustodialWalletResponse, type ListCustodialWalletsInput, type ListCustodialWalletsResponse, type WalletTokenBalance, createCustodialWalletsResource };
