import QuestSdk from "../..";
import { IAddBadgesForEntity, IAddBadgesForEntityResponse, IAddUsersToBadge, IAddUsersToBadgeResponse, IClaimBadgeForEntity, IClaimBadgeForEntityResponse, IGetAllBadgesResponse, IGetAllBadgesForEntity, IGetBadgeInfoForEntity, IGetBadgeInfoForEntityResponse, IUpdateBadgesForEntity, IUpdateBadgesForEntityResponse, IGetNumberOfBadgesEarned, IGetNumberOfBadgesEarnedResponse, IGetUserEarnedBadgesForEntity, IGetUserEarnedBadgesForEntityRepsonse } from "../../types/badge.types";
import { IGetRequestOptions, IPostRequestOptions } from "../../types/common.types";
export declare class Badge {
    questSdk: QuestSdk;
    constructor(questSdk: QuestSdk);
    getAllBadgesForUser(options?: IGetRequestOptions): Promise<IGetAllBadgesResponse>;
    getUserCreatedBadges(options?: IGetRequestOptions): Promise<IGetAllBadgesResponse>;
    getAllBadgesForEntity({ entityId }?: IGetAllBadgesForEntity, options?: IGetRequestOptions): Promise<IGetAllBadgesResponse>;
    addBadgeForEntity({ name, imageIPFS, description, entityId, skills, userIds, endsAt, xp, airdropEnabled, typeData, type, totalCount, visibility, proofType, }: IAddBadgesForEntity, options?: IPostRequestOptions): Promise<IAddBadgesForEntityResponse>;
    getBadgeInfoForEntity({ entityId, badgeId, prefixBadgeIpfs }: IGetBadgeInfoForEntity, options?: IGetRequestOptions): Promise<IGetBadgeInfoForEntityResponse>;
    updateBadgesForEntity({ badgeId, entityId, name, imageIPFS, description, skills, userIds, endsAt, xp, typeData, type, }: IUpdateBadgesForEntity, options?: IPostRequestOptions): Promise<IUpdateBadgesForEntityResponse>;
    claimBadgeForEntity({ badgeId, addToDynamicNFT, entityId }: IClaimBadgeForEntity, options?: IPostRequestOptions): Promise<IClaimBadgeForEntityResponse>;
    addUsersToBadge({ badgeId, userIds, entityId }: IAddUsersToBadge, options?: IPostRequestOptions): Promise<IAddUsersToBadgeResponse>;
    getNumberOfBadgesEarned({ entityId, forUserId }?: IGetNumberOfBadgesEarned, options?: IGetRequestOptions): Promise<IGetNumberOfBadgesEarnedResponse>;
    getUserEarnedBadgesForEntity({ entityId, forUserId, limit, page }?: IGetUserEarnedBadgesForEntity, options?: IGetRequestOptions): Promise<IGetUserEarnedBadgesForEntityRepsonse>;
}
