/**
 * CWMS Data API
 * CWMS REST API for Data Retrieval
 *
 * The version of the OpenAPI document: 2.4.0-2026.3.16
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import * as runtime from '../runtime';
import { User, Users } from '../models';
export interface DeleteUserWithUserNameRolesWithOfficeIdRequest {
    userName: string;
    officeId: string;
    requestBody?: Array<string>;
}
export interface GetUsersRequest {
    office?: string;
    page?: string;
    pageSize?: number;
}
export interface GetUsersWithUserNameRequest {
    userName: string;
}
export interface PostUserWithUserNameRolesWithOfficeIdRequest {
    userName: string;
    officeId: string;
    requestBody?: Array<string>;
}
/**
 *
 */
export declare class UserManagementApi extends runtime.BaseAPI {
    /**
     * Remove roles from user
     * Delete user with userName roles with officeId
     */
    deleteUserWithUserNameRolesWithOfficeIdRaw(requestParameters: DeleteUserWithUserNameRolesWithOfficeIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Remove roles from user
     * Delete user with userName roles with officeId
     */
    deleteUserWithUserNameRolesWithOfficeId(requestParameters: DeleteUserWithUserNameRolesWithOfficeIdRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * View all roles
     * Get roles
     */
    getRolesRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<string>>>;
    /**
     * View all roles
     * Get roles
     */
    getRoles(initOverrides?: RequestInit): Promise<Array<string>>;
    /**
     * View users\' own information
     * Get user profile
     */
    getUserProfileRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<User>>;
    /**
     * View users\' own information
     * Get user profile
     */
    getUserProfile(initOverrides?: RequestInit): Promise<User>;
    /**
     * View all users
     * Get users
     */
    getUsersRaw(requestParameters: GetUsersRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Users>>;
    /**
     * View all users
     * Get users
     */
    getUsers(requestParameters?: GetUsersRequest, initOverrides?: RequestInit): Promise<Users>;
    /**
     * View specific user
     * Get users with userName
     */
    getUsersWithUserNameRaw(requestParameters: GetUsersWithUserNameRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<User>>;
    /**
     * View specific user
     * Get users with userName
     */
    getUsersWithUserName(requestParameters: GetUsersWithUserNameRequest, initOverrides?: RequestInit): Promise<User>;
    /**
     * Add roles to user
     * Post user with userName roles with officeId
     */
    postUserWithUserNameRolesWithOfficeIdRaw(requestParameters: PostUserWithUserNameRolesWithOfficeIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Add roles to user
     * Post user with userName roles with officeId
     */
    postUserWithUserNameRolesWithOfficeId(requestParameters: PostUserWithUserNameRolesWithOfficeIdRequest, initOverrides?: RequestInit): Promise<void>;
}
