/**
 * devopness API
 * Devopness API - Painless essential DevOps to everyone
 *
 * The version of the OpenAPI document: latest
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { ApiBaseService } from "../../../services/ApiBaseService";
import { ApiResponse } from "../../../common/ApiResponse";
import { User } from '../../generated/models';
import { UserActivity } from '../../generated/models';
import { UserBilling } from '../../generated/models';
import { UserCreate } from '../../generated/models';
import { UserLogin } from '../../generated/models';
import { UserLoginResponse } from '../../generated/models';
import { UserMe } from '../../generated/models';
import { UserRefreshToken } from '../../generated/models';
import { UserRefreshTokenResponse } from '../../generated/models';
import { UserResendVerification } from '../../generated/models';
import { UserUpdate } from '../../generated/models';
import { UserUrl } from '../../generated/models';
import { UserVerify } from '../../generated/models';
/**
 * UsersApiService - Auto-generated
 */
export declare class UsersApiService extends ApiBaseService {
    /**
     *
     * @summary Sign up/register a new user
     * @param {UserCreate} userCreate A JSON object containing the resource data
     */
    addUser(userCreate: UserCreate): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Get a user by ID or URL Slug
     * @param {string} userId The numeric ID or URL Slug of a user.
     */
    getUser(userId: string): Promise<ApiResponse<User>>;
    /**
     *
     * @summary Get activity information for a user
     * @param {string} userId The numeric ID or URL Slug of a user.
     */
    getUserActivity(userId: string): Promise<ApiResponse<UserActivity>>;
    /**
     *
     * @summary Get current user\'s billing info for active subscription
     */
    getUserBilling(): Promise<ApiResponse<UserBilling>>;
    /**
     *
     * @summary Logout/revoke an existing token
     */
    getUserLogout(): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Get details of the current user
     */
    getUserMe(): Promise<ApiResponse<UserMe>>;
    /**
     *
     * @summary Get the authenticated user\'s URLs
     */
    getUserUrls(): Promise<ApiResponse<UserUrl>>;
    /**
     *
     * @summary Login/create a new token for the given credentials
     * @param {UserLogin} userLogin A JSON object containing the resource data
     */
    loginUser(userLogin: UserLogin): Promise<ApiResponse<UserLoginResponse>>;
    /**
     *
     * @summary Refresh an existing user access token
     * @param {UserRefreshToken} userRefreshToken A JSON object containing the resource data
     */
    refreshTokenUser(userRefreshToken: UserRefreshToken): Promise<ApiResponse<UserRefreshTokenResponse>>;
    /**
     *
     * @summary Resend the verification email
     * @param {UserResendVerification} userResendVerification A JSON object containing the resource data
     */
    resendVerificationUser(userResendVerification: UserResendVerification): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Update an existing user
     * @param {string} userId The ID of the user.
     * @param {UserUpdate} userUpdate A JSON object containing the resource data
     */
    updateUser(userId: string, userUpdate: UserUpdate): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Activate the user account
     * @param {UserVerify} userVerify A JSON object containing the resource data
     */
    verifyUser(userVerify: UserVerify): Promise<ApiResponse<void>>;
}
