/**
 * 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 { Role } from '../../generated/models';
import { RoleOrganizationCreate } from '../../generated/models';
import { RoleRelation } from '../../generated/models';
import { RoleUpdate } from '../../generated/models';
/**
 * RolesApiService - Auto-generated
 */
export declare class RolesApiService extends ApiBaseService {
    /**
     *
     * @summary Create a role to a given organization
     * @param {string} organizationId The numeric ID or URL Slug of an organization.
     * @param {RoleOrganizationCreate} roleOrganizationCreate A JSON object containing the resource data
     */
    addOrganizationRole(organizationId: string, roleOrganizationCreate: RoleOrganizationCreate): Promise<ApiResponse<Role>>;
    /**
     *
     * @summary Delete a given role
     * @param {number} roleId The ID of a role.
     */
    deleteRole(roleId: number): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Get a role by ID
     * @param {number} roleId The ID of a role.
     */
    getRole(roleId: number): Promise<ApiResponse<Role>>;
    /**
     *
     * @summary List all roles from a organization
     * @param {string} organizationId The numeric ID or URL Slug of an organization.
     * @param {number} [page] Number of the page to be retrieved
     * @param {number} [perPage] Number of items returned per page
     */
    listOrganizationRoles(organizationId: string, page?: number, perPage?: number): Promise<ApiResponse<Array<RoleRelation>>>;
    /**
     *
     * @summary Update an existing role
     * @param {number} roleId The ID of a role.
     * @param {RoleUpdate} roleUpdate A JSON object containing the resource data
     */
    updateRole(roleId: number, roleUpdate: RoleUpdate): Promise<ApiResponse<void>>;
}
