import QuestSdk from "../..";
import { IConnectWallet, IConnectWalletResponse, ICreateNewCustomUser, ICreateNewCustomUserResponse, IEntitesForUser, IEntitesForUserResponse, IGetAdminEntitiesForUser, IGetAdminEntitiesForUserResponse, IGetConnectedUserSocials, IGetConnectedUserSocialsResponse, IGetUserDetailsForEmail, IGetUserDetailsForEmailResponse, IGetUserDetailsForUserId, IGetUserDetailsForUserIdResponse, IGetUserDetailsForWalletAddress, IGetUserDetailsForWalletAddressResponse, ILoginWithExternalUserId, ILoginWithGoogle, ILoginWithGoogleResponse, ILoginWithWallet, ILoginWithWalletResponse, IRefreshUserToken, IRefreshUserTokenResponse, ISendOtpEmail, ISendOtpEmailResponse, ISetSelectedAdminEntityId, ISetSelectedAdminEntityIdResponse, ISetUserInfo, ISetUserInfoResponse, IVerifyOtpEmail, IVerifyOtpEmailResponse } from "../../types/user.types";
import { IGetRequestOptions, IPostRequestOptions } from "../../types/common.types";
export declare class User {
    questSdk: QuestSdk;
    constructor(questSdk: QuestSdk);
    createNewCustomUser({ customPlatform, customUserId, entityId }: ICreateNewCustomUser, options?: IPostRequestOptions): Promise<ICreateNewCustomUserResponse>;
    getUserDetailsForUserId({ forUserId }?: IGetUserDetailsForUserId, options?: IGetRequestOptions): Promise<IGetUserDetailsForUserIdResponse>;
    getUserDetailsForEmail({ email }: IGetUserDetailsForEmail, options?: IGetRequestOptions): Promise<IGetUserDetailsForEmailResponse>;
    getUserDetailsForWalletAddress({ walletAddress }: IGetUserDetailsForWalletAddress, options?: IGetRequestOptions): Promise<IGetUserDetailsForWalletAddressResponse>;
    getConnectedUserSocials({ entityId }: IGetConnectedUserSocials, options?: IGetRequestOptions): Promise<IGetConnectedUserSocialsResponse>;
    entitesForUser({ page, limit }?: IEntitesForUser, options?: IGetRequestOptions): Promise<IEntitesForUserResponse>;
    getAdminEntitiesForUser({ parentEntityId }?: IGetAdminEntitiesForUser, options?: IGetRequestOptions): Promise<IGetAdminEntitiesForUserResponse>;
    setSelectedAdminEntityId({ entityId }: ISetSelectedAdminEntityId, options?: IPostRequestOptions): Promise<ISetSelectedAdminEntityIdResponse>;
    setUserInfo({ name, imageUrl, bannerUrl, location, expertise, goals, interests, about, currentWork, funFacts, role, sector, }: ISetUserInfo, options?: IPostRequestOptions): Promise<ISetUserInfoResponse>;
    sendOtpEmail({ email, entityId }: ISendOtpEmail, options?: IPostRequestOptions): Promise<ISendOtpEmailResponse>;
    verifyOtpEmail({ email, entityId, otp, name }: IVerifyOtpEmail, options?: IPostRequestOptions): Promise<IVerifyOtpEmailResponse>;
    loginWithGoogle({ code, redirectUri, entityId }: ILoginWithGoogle, options?: IPostRequestOptions): Promise<ILoginWithGoogleResponse>;
    loginWithWallet({ entityId, walletAddress, signature, token }: ILoginWithWallet, options?: IPostRequestOptions): Promise<ILoginWithWalletResponse>;
    connectWallet({ entityId, walletAddress, signature, token, userId }: IConnectWallet, options?: IPostRequestOptions): Promise<IConnectWalletResponse>;
    loginWithExternalUserId({ externalUserId, entityId, email, walletAddress, name, imageUrl }: ILoginWithExternalUserId, options?: IPostRequestOptions): Promise<IVerifyOtpEmailResponse>;
    refreshUserToken({ refreshToken, entityId }: IRefreshUserToken, options?: IPostRequestOptions): Promise<IRefreshUserTokenResponse>;
}
