import { BaseAPI } from './base_api';
import * as loopring_defs from '../defs';
export declare class DefiAPI extends BaseAPI {
    getDefiToken<R>(): Promise<{
        raw_data: R;
        tokensMap: loopring_defs.LoopringMap<loopring_defs.TokenInfo>;
        idIndex: loopring_defs.LoopringMap<string>;
        addressIndex: loopring_defs.LoopringMap<loopring_defs.TokenAddress>;
    }>;
    getDefiMarkets<R>(request: loopring_defs.GetDefiMarketRequest, url?: string): Promise<{
        markets: loopring_defs.LoopringMap<loopring_defs.DefiMarketInfo>;
        pairs: loopring_defs.LoopringMap<loopring_defs.TokenRelatedInfo>;
        tokenArr: string[];
        tokenArrStr: string;
        marketArr: string[];
        marketArrStr: string;
        raw_data: R;
    }>;
    orderDefi<R>(request: loopring_defs.DefiOrderRequest, privateKey: string, apiKey: string): Promise<(Omit<any, 'resultInfo'> & {
        raw_data: Omit<any, 'resultInfo'>;
    }) | loopring_defs.RESULT_INFO>;
    getDefiReward<R>(request: loopring_defs.GetUserDefiRewardRequest, apiKey: string): Promise<{
        raw_data: R;
        totalNum: number;
        totalRewards: string;
        lastDayRewards: string;
        rewards: [];
    } | loopring_defs.RESULT_INFO>;
    getDefiTransaction<R>(request: loopring_defs.GetUserDefiTxRequest, apiKey: string): Promise<{
        raw_data: R;
        totalNum: number;
        userDefiTxs: loopring_defs.UserDefiTxsHistory[];
    } | loopring_defs.RESULT_INFO>;
    getDualInfos<R>(request: loopring_defs.GetDualInfosRequest): Promise<loopring_defs.RESULT_INFO | {
        totalNum: number;
        dualInfo: {
            infos: loopring_defs.DualProductAndPrice[];
            index: loopring_defs.DualIndex;
            balance: loopring_defs.DualBalance[];
            rules: loopring_defs.DualRulesCoinsInfo[];
        };
        raw_data: R;
    }>;
    getDualBalance<R>(request?: undefined): Promise<any>;
    getDualPrices(request: loopring_defs.GetDualPricesRequest): Promise<any>;
    getDualIndex(request: {
        baseSymbol: string;
        quoteSymbol: string;
    }): Promise<any>;
    getDualTransactions(request: loopring_defs.GetUserDualTxRequest, apiKey: string): Promise<any>;
    orderDual(request: loopring_defs.DualOrderRequest, privateKey: string, apiKey: string): Promise<loopring_defs.RESULT_INFO | (Omit<any, "resultInfo"> & {
        raw_data: Omit<any, "resultInfo">;
    })>;
    editDual(request: loopring_defs.DualEditRequest, privateKey: string, apiKey: string): Promise<loopring_defs.RESULT_INFO | (Omit<any, "resultInfo"> & {
        raw_data: Omit<any, "resultInfo">;
    })>;
    getDualUserLocked({ lockTag, ...request }: loopring_defs.DualUserLockedRequest, apiKey: string): Promise<any>;
    sendStakeClaim(req: loopring_defs.OriginStakeClaimRequestV3WithPatch, options?: {
        accountId?: number;
        counterFactualInfo?: any;
    }): Promise<any>;
    sendStakeRedeem(request: {
        accountId: number;
        hash: string;
        token: loopring_defs.TokenVolumeV3;
    }, privateKey: string, apiKey: string): Promise<any>;
    sendStake(request: {
        accountId: number;
        token: loopring_defs.TokenVolumeV3;
        timestamp: number;
    }, privateKey: string, apiKey: string): Promise<any>;
    getStakeProducts<R>(): Promise<{
        products: loopring_defs.STACKING_PRODUCT[];
        raw_data: R;
    }>;
    getStakeSummary<R>(request: {
        accountId: number;
        tokenId: number;
        start?: number;
        end?: number;
        limit?: number;
        offset?: number;
        hashes?: string;
        statuses?: string;
    }, apiKey: string): Promise<{
        raw_data: R;
        totalNum: number;
        totalStaked: string;
        totalStakedRewards: string;
        totalLastDayPendingRewards: string;
        totalClaimableRewards: string;
        list: loopring_defs.StakeInfoOrigin[];
    } | loopring_defs.RESULT_INFO>;
    getStakeTransactions<R>(request: {
        accountId: number;
        tokenId: number;
        start?: number;
        end?: number;
        limit?: number;
        offset?: number;
        hashes?: string;
        types?: string;
    }, apiKey: string): Promise<{
        list: loopring_defs.STACKING_TRANSACTIONS[];
        totalNum: number;
        raw_data: R;
    }>;
    getBtradeMarkets<R>(): Promise<{
        markets: loopring_defs.LoopringMap<loopring_defs.BTRADE_MARKET & {
            type: 'BTRADE';
        }>;
        pairs: loopring_defs.LoopringMap<loopring_defs.TokenRelatedInfo>;
        tokenArr: string[];
        tokenArrStr: string;
        marketArr: string[];
        marketArrStr: string;
        raw_data: R;
    }>;
    getBtradeDepth<R>({ request, tokenMap, }: {
        request: {
            market: string;
            level: number;
            limit?: number;
        };
        tokenMap?: any;
    }): Promise<{
        depth: loopring_defs.DepthData;
        raw_data: R;
    }>;
    getBtradeOrders<R>({ request, apiKey, }: {
        request: loopring_defs.GetOrdersRequest;
        apiKey: string;
    }): Promise<any>;
    sendBtradeOrder({ request, privateKey, apiKey, }: {
        request: loopring_defs.OriginBTRADEV3OrderRequest;
        privateKey: string;
        apiKey: string;
    }): Promise<any>;
    getDefiApys<R = {
        product: string;
        defiType: string;
        apys: {
            apy: string;
            createdAt: string;
        }[];
    }>({ request, }: {
        request: {
            start?: number;
            end?: number;
            defiType: 'LIDO' | 'ROCKETPOOL' | 'L2STAKING' | 'CIAN' | string;
            product: string;
        };
    }): Promise<{
        raw_data: R;
    }>;
    getDefiDepositList<R = any>({ types, markets, number, ...request }: {
        accountId: number;
        number: number;
        markets: Array<string> | string;
        types: Array<'LIDO' | 'ROCKETPOOL' | 'L2STAKING' | 'CIAN' | string> | string;
        product: string;
    }, apiKey: string): Promise<{
        raw_data: R;
    }>;
    getTaikoFarmingPositionInfo<R = any>({ accountId, }: {
        accountId: number;
    }): Promise<{
        tokenId: number;
        symbol: string;
        address: string;
        decimals: number;
        status: number;
        apr: string;
        precision: number;
        stakedTotal: string;
        claimedTotal: string;
        holdClaimedTotal: string;
        claimableTotal: string;
        totalPoints: string;
        minAmount: string;
        maxAmount: string;
    }[]>;
    getTaikoFarmingTransactions(queryParams: {
        accountId: number;
        tokenId: number;
        start?: number;
        end?: number;
        limit?: number;
        offset?: number;
        hashes?: string;
        types?: string;
    }, apiKey: string): Promise<{
        totalNum: number;
        transactions: {
            accountId: number;
            tokenId: number;
            amount: string;
            productId: string;
            hash: string;
            stakingType: 'subscribe' | 'unsubscribe';
            createdAt: number;
            updatedAt: number;
        }[];
    }>;
    getTaikoFarmingUserSummary(queryParams: {
        accountId: number;
        tokenId: number;
        start?: number;
        end?: number;
        limit?: number;
        offset?: number;
        hashes?: string;
        statuses?: string;
    }): Promise<{
        totalNum: number;
        totalStaked: string;
        totalStakedRewards: string;
        totalLastDayPendingRewards: string;
        totalClaimableRewards: string;
        staking: {
            accountId: number;
            tokenId: number;
            stakeAt: number;
            initialAmount: string;
            remainAmount: string;
            totalRewards: string;
            productId: string;
            hash: string;
            status: string;
            createdAt: number;
            updatedAt: number;
            claimableTime: number;
            lastDayPendingRewards: string;
            apr: string;
        }[];
    }>;
    getTaikoFarmingAvailableNft(queryParams: {
        accountId: number;
    }, apiKey: string): Promise<loopring_defs.TaikoFarmingAvaiableNFT>;
    getTaikoFarmingTransactionByHash(queryParams: {
        accountId: number;
        hash: string;
    }, apiKey: string): Promise<{
        operation: {
            accountId: number;
            tokenId: number;
            amount: string;
            productId: string;
            hash: string;
            stakingType: string;
            status: number;
            createdAt: number;
            updatedAt: number;
        };
    }>;
    getTaikoFarmingDepositDurationList(queryParams: {
        accountId: number;
        tokenId: number;
        start?: number;
        end?: number;
        limit?: number;
        offset?: number;
        hashes?: string;
        statuses?: string;
    }): Promise<{
        totalNum: number;
        data: {
            accountId: number;
            tokenId: number;
            stakeAt: number;
            txHash: string;
            eventIndex: number;
            lockDuration: number;
            hash: string;
            status: string;
            createdAt: number;
            updatedAt: number;
        }[];
    }>;
    submitTaikoFarmingClaim({ request, eddsaKey, apiKey, }: loopring_defs.TaikoFarmingSubmitOrderNFTRequestV3WithPatch): Promise<{
        hash: string;
        status: string;
        isIdempotent: boolean;
        accountId: number;
        tokens: number[];
        storageId: number;
    }>;
}
//# sourceMappingURL=defi_api.d.ts.map