import { BaseAPI } from './base_api';
import { NFTTokenInfo, RESULT_INFO, UserNFTBalanceInfo } from '../defs';
import * as loopring_defs from '../defs';
export declare class LuckTokenAPI extends BaseAPI {
    getLuckTokenAgents<R>(): Promise<{
        raw_data: R;
        luckTokenAgents: {
            [key: string]: loopring_defs.LuckyTokenInfo;
        };
    }>;
    getLuckTokenAuthorizedSigners<R>(): Promise<{
        raw_data: R;
        luckTokenAgents: {
            [key: string]: loopring_defs.LuckyTokenInfo;
        };
    }>;
    getLuckTokenClaimHistory<R>(request: {
        fromId: number;
        limit?: number;
        isNft?: boolean;
    }, apiKey: string): Promise<{
        totalNum: number;
        list: loopring_defs.LuckTokenHistory[];
        raw_data: R;
    }>;
    getLuckTokenLuckyTokens<R>(request: {
        senderId: number;
        hash: string;
        partitions: string;
        modes: string;
        scopes: string;
        statuses: string;
        startTime: number;
        endTime: number;
        fromId: number;
        limit?: number;
        official: boolean;
        isNft?: boolean;
    }, apiKey: string): Promise<{
        raw_data: R;
        totalNum: number;
        list: loopring_defs.LuckyTokenItemForReceive[];
    }>;
    getLuckTokenDetail<R>(request: {
        limit?: number;
        hash: string;
        fromId?: number;
        accountId?: number;
        serialNo?: number;
    }, apiKey: string): Promise<{
        raw_data: R;
        detail: loopring_defs.LuckTokenClaimDetail;
    }>;
    getBlindBoxDetail<R>(request: {
        limit?: number;
        hash: string;
        fromId?: number;
        showHelper: boolean;
        accountId?: number;
        serialNo?: number;
    }, apiKey: string): Promise<{
        raw_data: R;
    }>;
    getLuckTokenWithdrawals<R>(request: {
        statuses: loopring_defs.LuckyTokenWithdrawStatus[];
        tokenId?: number;
        startTime?: number;
        endTime?: number;
        fromId?: number;
        offset?: number;
        limit?: number;
        isNft?: boolean;
    }, apiKey: string): Promise<{
        raw_data: R;
        totalNum: number;
        luckTokenWithdraw: loopring_defs.LuckTokenWithdraw[];
    }>;
    getLuckTokenBalances<R>(request: {
        accountId: number;
        tokens?: number[];
        isNft?: boolean;
        offset?: number;
        limit?: number;
    }, apiKey: string): Promise<{
        raw_data: R;
        totalNum: number;
        tokenBalance: Array<loopring_defs.UserBalanceInfo & {
            isNft?: boolean;
            nftTokenInfo?: loopring_defs.NFTTokenInfo;
        }>;
    }>;
    getLuckTokenClaimedLuckyTokens<R>(request: {
        fromId: number;
        limit?: number;
        hashes?: string[];
        isNft?: boolean;
    }, apiKey: string): Promise<{
        raw_data: R;
        totalNum: number;
        claimedHistory: Array<loopring_defs.LuckyTokenItemForReceive & {
            id: number;
        }>;
    }>;
    getLuckTokenSummary<R>(apiKey: string): Promise<{
        raw_data: R;
        tokenSummaryList: {
            tokenId: number;
            amount: string;
            isNft?: Boolean;
            nftTokenInfo?: NFTTokenInfo & Partial<UserNFTBalanceInfo>;
        }[];
        totalNum: number;
    }>;
    getLuckTokenNFTBalances<R>(request: {
        accountId: number;
    }, apiKey: string): Promise<{
        raw_data: R;
        amount: number;
    }>;
    sendLuckTokenClaimLuckyToken<R>({ request, apiKey, eddsaKey, }: {
        request: {
            hash: string;
            claimer: string;
            referrer: string;
            serialNo?: number;
        };
        eddsaKey: string;
        apiKey: string;
    }): Promise<{
        raw_data: R;
    }>;
    sendLuckTokenClaimBlindBox<R>({ request, apiKey, eddsaKey, }: {
        request: {
            hash: string;
            claimer: string;
            referrer: string;
            serialNo?: number;
        };
        eddsaKey: string;
        apiKey: string;
    }): Promise<{
        raw_data: R;
    }>;
    sendLuckTokenWithdraws<T>(req: loopring_defs.OriginLuckTokenWithdrawsRequestV3WithPatch, options?: {
        accountId?: number;
        counterFactualInfo?: any;
    }): Promise<(Omit<any, 'resultInfo'> & {
        raw_data: Omit<any, 'resultInfo'>;
    }) | RESULT_INFO>;
    sendLuckTokenSend<R = {
        hash: string;
        status: string;
        isIdempotent: boolean;
        accountId: number;
        tokenId: number;
        storageId: number;
    }>(req: loopring_defs.OriginLuckTokenSendRequestV3WithPatch, options?: {
        accountId?: number;
        counterFactualInfo?: any;
    }): Promise<(Omit<any, 'resultInfo'> & {
        raw_data: Omit<any, 'resultInfo'>;
    }) | RESULT_INFO>;
    getLuckTokenClaimedBlindBox<R>(request: {
        fromId: number;
        limit?: number;
        isNft?: boolean;
        offset?: number;
        statuses?: number[];
    }, apiKey: string): Promise<{
        raw_data: R;
        totalNum: number;
        list: Array<loopring_defs.LuckyTokenBlindBoxItemReceive & {
            id: number;
        }>;
    }>;
    getLuckTokenUnclaimNFTBlindboxCnt<R>(request: {
        accountId: number;
    }, apiKey: string): Promise<{
        raw_data: R;
        count: number;
    }>;
    getLuckTokenUserLuckyTokenTargets<R>(request: {
        statuses?: number[];
        fromId?: number;
        limit?: number;
        offset?: number;
        isAll?: number;
    }, apiKey: string): Promise<{
        raw_data: R;
        totalNum: number;
        list: loopring_defs.LuckyTokenItemForReceive[];
    }>;
    sendLuckTokenSubmitAddTarget<R>(request: {
        claimer: string[];
        hash: string;
        notifyType: number;
    }, eddsaSignKey: string, apiKey: string): Promise<{
        raw_data: R;
    }>;
}
//# sourceMappingURL=luckToken_api.d.ts.map