/**
 * Webitel API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 24.04.0
 * Contact: support@webitel.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { AxiosPromise, AxiosInstance } from 'axios';
import { Configuration } from '../configuration';
import { RequestArgs, BaseAPI } from '../base';
import { ApiCreateRoleRequest } from '../api';
import { ApiCreateRoleResponse } from '../api';
import { ApiDeleteRoleResponse } from '../api';
import { ApiReadRoleResponse } from '../api';
import { ApiRoleMetadataResponse } from '../api';
import { ApiRolesUpdateRoleBody } from '../api';
import { ApiSearchRolesResponse } from '../api';
import { ApiUpdateRoleResponse } from '../api';
/**
 * RolesApi - axios parameter creator
 * @export
 */
export declare const RolesApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @param {ApiCreateRoleRequest} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createRole: (body: ApiCreateRoleRequest, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {string} id DELETE /roles/{id}
     * @param {Array<string>} [ids] POST /roles/delete {\&quot;ids\&quot;}
     * @param {boolean} [permanent] deleteOrMark \&#39;deleted\&#39; ?
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteRole: (id: string, ids?: Array<string>, permanent?: boolean, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {string} id role.id
     * @param {Array<string>} [fields] select projection  select: output (fields,...)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    readRole: (id: string, fields?: Array<string>, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {string} [id] Optional. Unique ID of metadata role owner
     * @param {string} [key] Optional. Partial metadata document key name
     * @param {'NULL_VALUE'} [mergeNullValue] Represents a null value.   - NULL_VALUE: Null value.
     * @param {number} [mergeNumberValue] Represents a double value.
     * @param {string} [mergeStringValue] Represents a string value.
     * @param {boolean} [mergeBoolValue] Represents a boolean value.
     * @param {object} [mergeStructValue] Represents a structured value.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    roleMetadata: (id?: string, key?: string, mergeNullValue?: "NULL_VALUE", mergeNumberValue?: number, mergeStringValue?: string, mergeBoolValue?: boolean, mergeStructValue?: object, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {'contacts' | 'cc_list' | 'cc_bucket' | 'calendars' | 'devices' | 'cc_agent' | 'cc_team' | 'cc_resource' | 'cc_resource_group' | 'cc_queue' | 'roles' | 'users' | 'cognitive_profile'} object bool admin &#x3D; 4;  // filter: where CURRENT user is \&#39;ADMIN\&#39; of REQUIRED !
     * @param {string} recordId identifier
     * @param {Array<string>} [ids] ----- Role-specific Filters ----------------- //  filter: .id &#x3D; any(:ids...)
     * @param {string} [name] filter: group name like
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [q] filter: term of search (name, description)
     * @param {string} [recordName] display name
     * @param {Array<string>} [fields] controls  output
     * @param {Array<string>} [sort] sort: \&quot;field\&quot; asc; \&quot;!field\&quot; desc
     * @param {number} [page] page number
     * @param {number} [size] page size
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchRecordAvailableRoles: (object: "contacts" | "cc_list" | "cc_bucket" | "calendars" | "devices" | "cc_agent" | "cc_team" | "cc_resource" | "cc_resource_group" | "cc_queue" | "roles" | "users" | "cognitive_profile", recordId: string, ids?: Array<string>, name?: string, userId?: string, userName?: string, q?: string, recordName?: string, fields?: Array<string>, sort?: Array<string>, page?: number, size?: number, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {Array<string>} [ids] ----- Role-specific Filters ----------------- //  filter: .id &#x3D; any(:ids...)
     * @param {string} [name] filter: group name like
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [q] filter: term of search (name, description)
     * @param {Array<string>} [fields] bool admin &#x3D; 4;  // filter: where CURRENT user is \&#39;ADMIN\&#39; of controls  output
     * @param {Array<string>} [sort] sort: \&quot;field\&quot; asc; \&quot;!field\&quot; desc
     * @param {number} [page] page number
     * @param {number} [size] page size
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchRoles: (ids?: Array<string>, name?: string, userId?: string, userName?: string, q?: string, fields?: Array<string>, sort?: Array<string>, page?: number, size?: number, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {string} roleId oid
     * @param {ApiRolesUpdateRoleBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateRole: (roleId: string, body: ApiRolesUpdateRoleBody, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {string} roleId oid
     * @param {ApiRolesUpdateRoleBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateRole2: (roleId: string, body: ApiRolesUpdateRoleBody, options?: any) => Promise<RequestArgs>;
};
/**
 * RolesApi - functional programming interface
 * @export
 */
export declare const RolesApiFp: (configuration?: Configuration) => {
    /**
     *
     * @param {ApiCreateRoleRequest} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createRole(body: ApiCreateRoleRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiCreateRoleResponse>>;
    /**
     *
     * @param {string} id DELETE /roles/{id}
     * @param {Array<string>} [ids] POST /roles/delete {\&quot;ids\&quot;}
     * @param {boolean} [permanent] deleteOrMark \&#39;deleted\&#39; ?
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteRole(id: string, ids?: Array<string>, permanent?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiDeleteRoleResponse>>;
    /**
     *
     * @param {string} id role.id
     * @param {Array<string>} [fields] select projection  select: output (fields,...)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    readRole(id: string, fields?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiReadRoleResponse>>;
    /**
     *
     * @param {string} [id] Optional. Unique ID of metadata role owner
     * @param {string} [key] Optional. Partial metadata document key name
     * @param {'NULL_VALUE'} [mergeNullValue] Represents a null value.   - NULL_VALUE: Null value.
     * @param {number} [mergeNumberValue] Represents a double value.
     * @param {string} [mergeStringValue] Represents a string value.
     * @param {boolean} [mergeBoolValue] Represents a boolean value.
     * @param {object} [mergeStructValue] Represents a structured value.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    roleMetadata(id?: string, key?: string, mergeNullValue?: "NULL_VALUE", mergeNumberValue?: number, mergeStringValue?: string, mergeBoolValue?: boolean, mergeStructValue?: object, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiRoleMetadataResponse>>;
    /**
     *
     * @param {'contacts' | 'cc_list' | 'cc_bucket' | 'calendars' | 'devices' | 'cc_agent' | 'cc_team' | 'cc_resource' | 'cc_resource_group' | 'cc_queue' | 'roles' | 'users' | 'cognitive_profile'} object bool admin &#x3D; 4;  // filter: where CURRENT user is \&#39;ADMIN\&#39; of REQUIRED !
     * @param {string} recordId identifier
     * @param {Array<string>} [ids] ----- Role-specific Filters ----------------- //  filter: .id &#x3D; any(:ids...)
     * @param {string} [name] filter: group name like
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [q] filter: term of search (name, description)
     * @param {string} [recordName] display name
     * @param {Array<string>} [fields] controls  output
     * @param {Array<string>} [sort] sort: \&quot;field\&quot; asc; \&quot;!field\&quot; desc
     * @param {number} [page] page number
     * @param {number} [size] page size
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchRecordAvailableRoles(object: "contacts" | "cc_list" | "cc_bucket" | "calendars" | "devices" | "cc_agent" | "cc_team" | "cc_resource" | "cc_resource_group" | "cc_queue" | "roles" | "users" | "cognitive_profile", recordId: string, ids?: Array<string>, name?: string, userId?: string, userName?: string, q?: string, recordName?: string, fields?: Array<string>, sort?: Array<string>, page?: number, size?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiSearchRolesResponse>>;
    /**
     *
     * @param {Array<string>} [ids] ----- Role-specific Filters ----------------- //  filter: .id &#x3D; any(:ids...)
     * @param {string} [name] filter: group name like
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [q] filter: term of search (name, description)
     * @param {Array<string>} [fields] bool admin &#x3D; 4;  // filter: where CURRENT user is \&#39;ADMIN\&#39; of controls  output
     * @param {Array<string>} [sort] sort: \&quot;field\&quot; asc; \&quot;!field\&quot; desc
     * @param {number} [page] page number
     * @param {number} [size] page size
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchRoles(ids?: Array<string>, name?: string, userId?: string, userName?: string, q?: string, fields?: Array<string>, sort?: Array<string>, page?: number, size?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiSearchRolesResponse>>;
    /**
     *
     * @param {string} roleId oid
     * @param {ApiRolesUpdateRoleBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateRole(roleId: string, body: ApiRolesUpdateRoleBody, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiUpdateRoleResponse>>;
    /**
     *
     * @param {string} roleId oid
     * @param {ApiRolesUpdateRoleBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateRole2(roleId: string, body: ApiRolesUpdateRoleBody, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiUpdateRoleResponse>>;
};
/**
 * RolesApi - factory interface
 * @export
 */
export declare const RolesApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @param {ApiCreateRoleRequest} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createRole(body: ApiCreateRoleRequest, options?: any): AxiosPromise<ApiCreateRoleResponse>;
    /**
     *
     * @param {string} id DELETE /roles/{id}
     * @param {Array<string>} [ids] POST /roles/delete {\&quot;ids\&quot;}
     * @param {boolean} [permanent] deleteOrMark \&#39;deleted\&#39; ?
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteRole(id: string, ids?: Array<string>, permanent?: boolean, options?: any): AxiosPromise<ApiDeleteRoleResponse>;
    /**
     *
     * @param {string} id role.id
     * @param {Array<string>} [fields] select projection  select: output (fields,...)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    readRole(id: string, fields?: Array<string>, options?: any): AxiosPromise<ApiReadRoleResponse>;
    /**
     *
     * @param {string} [id] Optional. Unique ID of metadata role owner
     * @param {string} [key] Optional. Partial metadata document key name
     * @param {'NULL_VALUE'} [mergeNullValue] Represents a null value.   - NULL_VALUE: Null value.
     * @param {number} [mergeNumberValue] Represents a double value.
     * @param {string} [mergeStringValue] Represents a string value.
     * @param {boolean} [mergeBoolValue] Represents a boolean value.
     * @param {object} [mergeStructValue] Represents a structured value.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    roleMetadata(id?: string, key?: string, mergeNullValue?: "NULL_VALUE", mergeNumberValue?: number, mergeStringValue?: string, mergeBoolValue?: boolean, mergeStructValue?: object, options?: any): AxiosPromise<ApiRoleMetadataResponse>;
    /**
     *
     * @param {'contacts' | 'cc_list' | 'cc_bucket' | 'calendars' | 'devices' | 'cc_agent' | 'cc_team' | 'cc_resource' | 'cc_resource_group' | 'cc_queue' | 'roles' | 'users' | 'cognitive_profile'} object bool admin &#x3D; 4;  // filter: where CURRENT user is \&#39;ADMIN\&#39; of REQUIRED !
     * @param {string} recordId identifier
     * @param {Array<string>} [ids] ----- Role-specific Filters ----------------- //  filter: .id &#x3D; any(:ids...)
     * @param {string} [name] filter: group name like
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [q] filter: term of search (name, description)
     * @param {string} [recordName] display name
     * @param {Array<string>} [fields] controls  output
     * @param {Array<string>} [sort] sort: \&quot;field\&quot; asc; \&quot;!field\&quot; desc
     * @param {number} [page] page number
     * @param {number} [size] page size
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchRecordAvailableRoles(object: "contacts" | "cc_list" | "cc_bucket" | "calendars" | "devices" | "cc_agent" | "cc_team" | "cc_resource" | "cc_resource_group" | "cc_queue" | "roles" | "users" | "cognitive_profile", recordId: string, ids?: Array<string>, name?: string, userId?: string, userName?: string, q?: string, recordName?: string, fields?: Array<string>, sort?: Array<string>, page?: number, size?: number, options?: any): AxiosPromise<ApiSearchRolesResponse>;
    /**
     *
     * @param {Array<string>} [ids] ----- Role-specific Filters ----------------- //  filter: .id &#x3D; any(:ids...)
     * @param {string} [name] filter: group name like
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [q] filter: term of search (name, description)
     * @param {Array<string>} [fields] bool admin &#x3D; 4;  // filter: where CURRENT user is \&#39;ADMIN\&#39; of controls  output
     * @param {Array<string>} [sort] sort: \&quot;field\&quot; asc; \&quot;!field\&quot; desc
     * @param {number} [page] page number
     * @param {number} [size] page size
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchRoles(ids?: Array<string>, name?: string, userId?: string, userName?: string, q?: string, fields?: Array<string>, sort?: Array<string>, page?: number, size?: number, options?: any): AxiosPromise<ApiSearchRolesResponse>;
    /**
     *
     * @param {string} roleId oid
     * @param {ApiRolesUpdateRoleBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateRole(roleId: string, body: ApiRolesUpdateRoleBody, options?: any): AxiosPromise<ApiUpdateRoleResponse>;
    /**
     *
     * @param {string} roleId oid
     * @param {ApiRolesUpdateRoleBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateRole2(roleId: string, body: ApiRolesUpdateRoleBody, options?: any): AxiosPromise<ApiUpdateRoleResponse>;
};
/**
 * RolesApi - object-oriented interface
 * @export
 * @class RolesApi
 * @extends {BaseAPI}
 */
export declare class RolesApi extends BaseAPI {
    /**
     *
     * @param {ApiCreateRoleRequest} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RolesApi
     */
    createRole(body: ApiCreateRoleRequest, options?: any): Promise<import("axios").AxiosResponse<ApiCreateRoleResponse, any, {}>>;
    /**
     *
     * @param {string} id DELETE /roles/{id}
     * @param {Array<string>} [ids] POST /roles/delete {\&quot;ids\&quot;}
     * @param {boolean} [permanent] deleteOrMark \&#39;deleted\&#39; ?
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RolesApi
     */
    deleteRole(id: string, ids?: Array<string>, permanent?: boolean, options?: any): Promise<import("axios").AxiosResponse<ApiDeleteRoleResponse, any, {}>>;
    /**
     *
     * @param {string} id role.id
     * @param {Array<string>} [fields] select projection  select: output (fields,...)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RolesApi
     */
    readRole(id: string, fields?: Array<string>, options?: any): Promise<import("axios").AxiosResponse<ApiReadRoleResponse, any, {}>>;
    /**
     *
     * @param {string} [id] Optional. Unique ID of metadata role owner
     * @param {string} [key] Optional. Partial metadata document key name
     * @param {'NULL_VALUE'} [mergeNullValue] Represents a null value.   - NULL_VALUE: Null value.
     * @param {number} [mergeNumberValue] Represents a double value.
     * @param {string} [mergeStringValue] Represents a string value.
     * @param {boolean} [mergeBoolValue] Represents a boolean value.
     * @param {object} [mergeStructValue] Represents a structured value.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RolesApi
     */
    roleMetadata(id?: string, key?: string, mergeNullValue?: 'NULL_VALUE', mergeNumberValue?: number, mergeStringValue?: string, mergeBoolValue?: boolean, mergeStructValue?: object, options?: any): Promise<import("axios").AxiosResponse<ApiRoleMetadataResponse, any, {}>>;
    /**
     *
     * @param {'contacts' | 'cc_list' | 'cc_bucket' | 'calendars' | 'devices' | 'cc_agent' | 'cc_team' | 'cc_resource' | 'cc_resource_group' | 'cc_queue' | 'roles' | 'users' | 'cognitive_profile'} object bool admin &#x3D; 4;  // filter: where CURRENT user is \&#39;ADMIN\&#39; of REQUIRED !
     * @param {string} recordId identifier
     * @param {Array<string>} [ids] ----- Role-specific Filters ----------------- //  filter: .id &#x3D; any(:ids...)
     * @param {string} [name] filter: group name like
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [q] filter: term of search (name, description)
     * @param {string} [recordName] display name
     * @param {Array<string>} [fields] controls  output
     * @param {Array<string>} [sort] sort: \&quot;field\&quot; asc; \&quot;!field\&quot; desc
     * @param {number} [page] page number
     * @param {number} [size] page size
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RolesApi
     */
    searchRecordAvailableRoles(object: 'contacts' | 'cc_list' | 'cc_bucket' | 'calendars' | 'devices' | 'cc_agent' | 'cc_team' | 'cc_resource' | 'cc_resource_group' | 'cc_queue' | 'roles' | 'users' | 'cognitive_profile', recordId: string, ids?: Array<string>, name?: string, userId?: string, userName?: string, q?: string, recordName?: string, fields?: Array<string>, sort?: Array<string>, page?: number, size?: number, options?: any): Promise<import("axios").AxiosResponse<ApiSearchRolesResponse, any, {}>>;
    /**
     *
     * @param {Array<string>} [ids] ----- Role-specific Filters ----------------- //  filter: .id &#x3D; any(:ids...)
     * @param {string} [name] filter: group name like
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [q] filter: term of search (name, description)
     * @param {Array<string>} [fields] bool admin &#x3D; 4;  // filter: where CURRENT user is \&#39;ADMIN\&#39; of controls  output
     * @param {Array<string>} [sort] sort: \&quot;field\&quot; asc; \&quot;!field\&quot; desc
     * @param {number} [page] page number
     * @param {number} [size] page size
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RolesApi
     */
    searchRoles(ids?: Array<string>, name?: string, userId?: string, userName?: string, q?: string, fields?: Array<string>, sort?: Array<string>, page?: number, size?: number, options?: any): Promise<import("axios").AxiosResponse<ApiSearchRolesResponse, any, {}>>;
    /**
     *
     * @param {string} roleId oid
     * @param {ApiRolesUpdateRoleBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RolesApi
     */
    updateRole(roleId: string, body: ApiRolesUpdateRoleBody, options?: any): Promise<import("axios").AxiosResponse<ApiUpdateRoleResponse, any, {}>>;
    /**
     *
     * @param {string} roleId oid
     * @param {ApiRolesUpdateRoleBody} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RolesApi
     */
    updateRole2(roleId: string, body: ApiRolesUpdateRoleBody, options?: any): Promise<import("axios").AxiosResponse<ApiUpdateRoleResponse, any, {}>>;
}
//# sourceMappingURL=roles-api.d.ts.map