import { BaseAPI } from './base_api';
import * as loopring_defs from '../defs';
export declare class VaultAPI extends BaseAPI {
    getVaultTokens<R = loopring_defs.VaultToken[]>(): Promise<{
        raw_data: R;
        tokens: R;
    }>;
    getVaultBalance<R = loopring_defs.UserBalanceInfo>(request: loopring_defs.GetUserBalancesRequest, apiKey: string): Promise<{
        raw_data: R[];
        userBalances: loopring_defs.LoopringMap<R>;
    }>;
    getVaultMarkets<R = loopring_defs.VaultMarket[]>(): Promise<{
        raw_data: R;
        markets: R;
    }>;
    getVaultGetAvailableNFT<R = loopring_defs.VaultAvaiableNFT>(request: {
        accountId: number;
    }, apiKey: string): Promise<{
        raw_data: R;
    }>;
    getVaultInfoAndBalance<R = loopring_defs.VaultAccountInfo>(request: {
        accountId: number;
    }, apiKey: string): Promise<{
        raw_data: R;
    } & R>;
    getVaultGetOperationHistory<R = Array<{
        operation: loopring_defs.VaultOperation;
        order: loopring_defs.VaultOrder;
    }>>(request: {
        accountId: number;
        operateTypes: loopring_defs.VaultOperationEnum[] | string;
        offset: number;
        start?: number;
        end?: number;
        limit: number;
    }, apiKey: string): Promise<{
        raw_data: {
            data: R[];
            total: number;
        };
    } & {
        list: R[];
        totalNum: number;
    }>;
    getVaultGetOperationByHash<R = {
        operation: loopring_defs.VaultOperation;
        order: loopring_defs.VaultOrder;
    }>(request: {
        accountId: string;
        hash: string;
    }, apiKey: string): Promise<R & {
        raw_data: R;
    }>;
    getVaultDepth<R>({ request, }: {
        request: {
            market: string;
            level: number;
            limit?: number;
        };
        tokenMap?: any;
    }): Promise<{
        depth: loopring_defs.DepthData;
        raw_data: R;
    }>;
    submitVaultJoin<R = loopring_defs.VaultOrderResult>({ request, eddsaKey, apiKey, }: loopring_defs.VaultOrderNFTRequestV3WithPatch): Promise<loopring_defs.RESULT_INFO | (Omit<any, "resultInfo"> & {
        raw_data: Omit<any, "resultInfo">;
    })>;
    submitVaultOrder<R>({ request, privateKey, apiKey, }: {
        request: loopring_defs.VaultOrderRequest;
        privateKey: string;
        apiKey: string;
    }): Promise<loopring_defs.RESULT_INFO | (Omit<any, "resultInfo"> & {
        raw_data: Omit<any, "resultInfo">;
    })>;
    submitVaultExit<R>({ request, privateKey, apiKey, }: {
        request: loopring_defs.VaultExitRequest;
        privateKey: string;
        apiKey: string;
    }): Promise<loopring_defs.RESULT_INFO | (Omit<any, "resultInfo"> & {
        raw_data: Omit<any, "resultInfo">;
    })>;
    submitVaultTransfer<R>(): Promise<any>;
    submitVaultBorrow<R>({ request, privateKey, apiKey, }: {
        request: loopring_defs.VaultBorrowRequest;
        privateKey: string;
        apiKey: string;
    }): Promise<loopring_defs.RESULT_INFO | (Omit<any, "resultInfo"> & {
        raw_data: Omit<any, "resultInfo">;
    })>;
    submitVaultRepay<R>(req: loopring_defs.VaultRepayRequestV3WithPatch, options?: {
        accountId?: number;
        counterFactualInfo?: any;
    }): Promise<loopring_defs.RESULT_INFO | (Omit<any, "resultInfo"> & {
        raw_data: Omit<any, "resultInfo">;
    })>;
    getVaultInfos<R>(): Promise<{
        raw_data: R;
    }>;
    sendVaultResetToken(req: loopring_defs.OriginTransferRequestV3WithPatch, options?: {
        accountId?: number;
        counterFactualInfo?: any;
    }): Promise<any>;
    getVaultPrice(request: {
        tokenIds: string | number[];
    }): Promise<any>;
    getCredit(request: {
        accountId: number;
    }, apiKey: string): Promise<{
        tokenFactors: {
            symbol: string;
            factor: string;
        }[];
        maxLeverage: string;
    }>;
    getCollaterals(request: {
        accountId: number;
    }, apiKey: string): Promise<{
        collateralTokens: {
            orderHash: string;
            collateralTokenId: number;
            collateralTokenAmount: string;
            nftTokenId: number;
            nftData: string;
        }[];
    }>;
    submitLeverage<R>({ request, apiKey, }: {
        request: {
            accountId: string;
            leverage: string;
        };
        apiKey: string;
    }): Promise<any>;
    submitDustCollector(req: loopring_defs.VaultDustCollectorRequest): Promise<{
        hash: string;
    }>;
}
//# sourceMappingURL=vault_api.d.ts.map