import QuestSdk from "../..";
import { IGetRequestOptions, IPostRequestOptions } from "../../types/common.types";
import { IAddNewEntityGemsContractForEntity, IAddNewEntityGemsContractForEntityResponse, IDecreaseEntityGemForAUser, IDecreaseEntityGemForAUserResponse, IGetAllEntityGemsContracts, IGetAllEntityGemsContractsResponse, IGetAllEntityGemsForAUser, IGetAllEntityGemsForAUserResponse, IGetEntityGemContractById, IGetEntityGemContractByIdResponse, IIncreaseEntityGemForAUser, IIncreaseEntityGemForAUserResponse, ISoftDeleteEntityGemsContractForEntity, ISoftDeleteEntityGemsContractForEntityResponse, IUpdateEntityGemsContractForEntity, IUpdateEntityGemsContractForEntityResponse } from "../../types/entityGem.types";
export declare class EntityGem {
    questSdk: QuestSdk;
    constructor(questSdk: QuestSdk);
    getAllEntityGemsContracts({ entityId }: IGetAllEntityGemsContracts, options?: IGetRequestOptions): Promise<IGetAllEntityGemsContractsResponse>;
    getEntityGemContractById({ entityGemsContractId, entityId }: IGetEntityGemContractById, options: IGetRequestOptions): Promise<IGetEntityGemContractByIdResponse>;
    addNewEntityGemsContractForEntity({ initialDefaultValue, name, source, desc, entityId, logo }: IAddNewEntityGemsContractForEntity, options: IPostRequestOptions): Promise<IAddNewEntityGemsContractForEntityResponse>;
    updateEntityGemsContractForEntity({ entityId, entityGemsContractId, desc, initialDefaultValue, logo, name, source, }: IUpdateEntityGemsContractForEntity, options?: IPostRequestOptions): Promise<IUpdateEntityGemsContractForEntityResponse>;
    softDeleteEntityGemsContractForEntity({ entityGemsContractId, entityId }: ISoftDeleteEntityGemsContractForEntity, options?: IPostRequestOptions): Promise<ISoftDeleteEntityGemsContractForEntityResponse>;
    getAllEntityGemsForAUser({ entityId, userId }?: IGetAllEntityGemsForAUser, options?: IGetRequestOptions): Promise<IGetAllEntityGemsForAUserResponse>;
    increaseEntityGemForAUser({ entityGemsContractId, value, entityId, userId }: IIncreaseEntityGemForAUser, options?: IPostRequestOptions): Promise<IIncreaseEntityGemForAUserResponse>;
    decreaseEntityGemForAUser({ entityGemsContractId, entityId, userId, value }: IDecreaseEntityGemForAUser, options?: IPostRequestOptions): Promise<IDecreaseEntityGemForAUserResponse>;
}
