import QuestSdk from "../..";
import { IGetRequestOptions, IPostRequestOptions } from "../../types/common.types";
import { IAddAdminToEntity, IAddAdminToEntityResponse, IAddNewCustomEntityId, IAddNewCustomEntityIdResponse, IAddOrUpdateSocialTokens, IAddOrUpdateSocialTokensResponse, IApproveEntityCreation, IApproveEntityCreationResponse, ICreateNewEntity, ICreateNewEntityResponse, IGetAllAdmins, IGetAllAdminsResponse, IGetAllEntities, IGetAllEntitiesResponse, IGetAllPendingEntitiesResponse, IGetEntityIdForAlias, IGetEntityIdForAliasResponse, IGetEntityIdForCustomEntityId, IGetEntityIdForCustomEntityIdResponse, IGetEntityInfo, IGetEntityInfoResponse, IGetEntityTheme, IGetEntityThemeResponse, IGetOrGenerateNewAPIKey, IGetOrGenerateNewAPIKeyResponse, IGetSocialTokens, IGetSocialTokensResponse, IGetUsersForEntityForUser, IGetUsersForEntityForUserResponse, IManuallyAddUsersToEntity, IManuallyAddUsersToEntityResponse, IRemoveAdmin, IRemoveAdminResponse, IUpdateEntity, IUpdateEntityPlan, IUpdateEntityPlanResponse, IUpdateEntityResponse, IUpdateEntityTheme, IUpdateEntityThemeResponse } from "../../types/entity.types";
export declare class Entity {
    questSdk: QuestSdk;
    constructor(questSdk: QuestSdk);
    createNewEntity({ name, contracts, openseaSlug, description, chainSource, isPrivate, decreaseCreditsAt, decreaseCreditsFrom, website, imageUrl, bannerUrl, entityURLAlias, parentEntityId, category, forUserId, }: ICreateNewEntity, options?: IPostRequestOptions): Promise<ICreateNewEntityResponse>;
    addNewCustomEntityId({ customPlatformId, customPlatformName, entityId, accessToken, expiresIn, link, name, refreshToken, username, }: IAddNewCustomEntityId, options?: IPostRequestOptions): Promise<IAddNewCustomEntityIdResponse>;
    getAllEntities({ page, limit, category }?: IGetAllEntities, options?: IGetRequestOptions): Promise<IGetAllEntitiesResponse>;
    getEntityInfo({ entityId }?: IGetEntityInfo, options?: IGetRequestOptions): Promise<IGetEntityInfoResponse>;
    getEntityIdForAlias({ alias }: IGetEntityIdForAlias, options?: IGetRequestOptions): Promise<IGetEntityIdForAliasResponse>;
    getEntityIdForCustomEntityId({ customEntityId, platform, recordType }: IGetEntityIdForCustomEntityId, options?: IGetRequestOptions): Promise<IGetEntityIdForCustomEntityIdResponse>;
    updateEntity({ entityId, name, description, isPrivate, decreaseCreditsAt, decreaseCreditsFrom, website, imageUrl, bannerUrl, entityURLAlias, }: IUpdateEntity, options?: IPostRequestOptions): Promise<IUpdateEntityResponse>;
    updateEntityTheme({ theme, entityId }: IUpdateEntityTheme, options?: IPostRequestOptions): Promise<IUpdateEntityThemeResponse>;
    getEntityTheme({ entityId }?: IGetEntityTheme, options?: IGetRequestOptions): Promise<IGetEntityThemeResponse>;
    updateEntityPlan({ entityId, product }: IUpdateEntityPlan, options?: IPostRequestOptions): Promise<IUpdateEntityPlanResponse>;
    getUsersOfEntity({ entityId }?: IGetUsersForEntityForUser, options?: IGetRequestOptions): Promise<IGetUsersForEntityForUserResponse>;
    manuallyAddUsersToEntity({ userIds, entityId }: IManuallyAddUsersToEntity, options?: IPostRequestOptions): Promise<IManuallyAddUsersToEntityResponse>;
    getAllAdmins({ entityId, lessDetails }?: IGetAllAdmins, options?: IGetRequestOptions): Promise<IGetAllAdminsResponse>;
    removeAdmin({ userId, entityId }: IRemoveAdmin, options?: IPostRequestOptions): Promise<IRemoveAdminResponse>;
    addOrUpdateSocialTokens({ recordType, entityId, authClientId, authClientSecret, apiKey, apiSecret, authorizationToken, apiHost, }: IAddOrUpdateSocialTokens, options?: IPostRequestOptions): Promise<IAddOrUpdateSocialTokensResponse>;
    getSocialTokens({ recordType, entityId }: IGetSocialTokens, options?: IGetRequestOptions): Promise<IGetSocialTokensResponse>;
    approveEntityCreation({ baseName, baseSymbol, entityId }: IApproveEntityCreation, options?: IPostRequestOptions): Promise<IApproveEntityCreationResponse>;
    getAllPendingEntities(options?: IGetRequestOptions): Promise<IGetAllPendingEntitiesResponse>;
    addAdminToEntity({ email, name, entityId, role }: IAddAdminToEntity, options?: IPostRequestOptions): Promise<IAddAdminToEntityResponse>;
    getOrGenerateNewAPIKey({ entityId }?: IGetOrGenerateNewAPIKey, options?: IGetRequestOptions): Promise<IGetOrGenerateNewAPIKeyResponse>;
}
