import QuestSdk from "../..";
import { IGetRequestOptions, IPostRequestOptions } from "../../types/common.types";
import { IAddNewThemeForEntity, IAddNewThemeForEntityResponse, IAddRunningXP, IAddRunningXPResponse, IDeleteThemeForEntity, IDeleteThemeForEntityResponse, IGetAllThemesForEntity, IGetAllThemesForEntityResponse, IGetMyDynamicNFTDetailsForEntity, IGetMyDynamicNFTDetailsForEntityResponse, IGetMyDynamicNFTsResponse, IGetThemeDetailsForEntity, IGetThemeDetailsForEntityResponse, IGetUserXpHistory, IGetUserXpHistoryResponse, IGetUserXpLeaderboard, IGetUserXpLeaderboardRank, IGetUserXpLeaderboardRankResponse, IGetXpForEntities, IGetXpForEntitiesResponse, IGetXpForEntity, IGetXpForEntityResponse, IGetXpForUser, IGetXpForUserResponse, IGetXpForUsers, IGetXpForUsersResponse, IIGetUserXpLeaderboardResponse, IMintDynamicNFT, IMintDynamicNFTResponse, IRecalculateUsersDynamicNFT, IRecalculateUsersDynamicNFTResponse, ISetDefaultThemeForEntity, ISetDefaultThemeForEntityResponse, IUpdateThemeForEntity, IUpdateThemeForEntityResponse } from "../../types/dynamicNft.types";
export declare class DynamicNft {
    questSdk: QuestSdk;
    constructor(questSdk: QuestSdk);
    mintDynamicNFT({ type, forUserId, entityId }: IMintDynamicNFT, options?: IPostRequestOptions): Promise<IMintDynamicNFTResponse>;
    addRunningXP({ xp, forUserId, entityId, title, isAccumulateXP, metadata }: IAddRunningXP, options?: IPostRequestOptions): Promise<IAddRunningXPResponse>;
    getMyDynamicNFTs(options?: IGetRequestOptions): Promise<IGetMyDynamicNFTsResponse>;
    getMyDynamicNFTDetailsForEntity({ entityId }?: IGetMyDynamicNFTDetailsForEntity, options?: IGetRequestOptions): Promise<IGetMyDynamicNFTDetailsForEntityResponse>;
    getXpForUser({ entityId, userId }?: IGetXpForUser, options?: IGetRequestOptions): Promise<IGetXpForUserResponse>;
    getXpForUsers({ userIds, entityId }: IGetXpForUsers, options?: IPostRequestOptions): Promise<IGetXpForUsersResponse>;
    getXpForEntity({ entityId }?: IGetXpForEntity, options?: IGetRequestOptions): Promise<IGetXpForEntityResponse>;
    getXpForEntities({ entityIds }: IGetXpForEntities, options?: IPostRequestOptions): Promise<IGetXpForEntitiesResponse>;
    recalculateUsersDynamicNFT({ entityId, userId }?: IRecalculateUsersDynamicNFT, options?: IGetRequestOptions): Promise<IRecalculateUsersDynamicNFTResponse>;
    getAllThemesForEntity({ entityId }?: IGetAllThemesForEntity, options?: IGetRequestOptions): Promise<IGetAllThemesForEntityResponse>;
    addNewThemeForEntity({ membershipTier, title, price, entityId, backgroundImageIPFS, horizontalLogoImageIPFS, squareLogoImageIPFS, backgroundColor, accentColor1, accentColor2, metadataIPFS, }: IAddNewThemeForEntity, options?: IPostRequestOptions): Promise<IAddNewThemeForEntityResponse>;
    getThemeDetailsForEntity({ entityId, themeId }: IGetThemeDetailsForEntity, options?: IGetRequestOptions): Promise<IGetThemeDetailsForEntityResponse>;
    updateThemeForEntity({ themeId, entityId, membershipTier, title, price, backgroundImageIPFS, horizontalLogoImageIPFS, squareLogoImageIPFS, backgroundColor, accentColor1, accentColor2, metadataIPFS, }: IUpdateThemeForEntity, options?: IPostRequestOptions): Promise<IUpdateThemeForEntityResponse>;
    deleteThemeForEntity({ entityId, themeId }: IDeleteThemeForEntity, options?: IPostRequestOptions): Promise<IDeleteThemeForEntityResponse>;
    setDefaultThemeForEntity({ entityId, themeId }: ISetDefaultThemeForEntity, options?: IPostRequestOptions): Promise<ISetDefaultThemeForEntityResponse>;
    getUserXpLeaderboardRank({ entityId, forUserId, threshold }?: IGetUserXpLeaderboardRank, options?: IGetRequestOptions): Promise<IGetUserXpLeaderboardRankResponse>;
    getUserXpHistory({ entityId, forUserId, limit, page }?: IGetUserXpHistory, options?: IGetRequestOptions): Promise<IGetUserXpHistoryResponse>;
    getUserXpLeaderboard({ entityId, limit, page }?: IGetUserXpLeaderboard, options?: IGetRequestOptions): Promise<IIGetUserXpLeaderboardResponse>;
}
