/**
 * 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 { ApiCreateUserRequest } from '../api';
import { ApiCreateUserResponse } from '../api';
import { ApiDeleteUsersResponse } from '../api';
import { ApiReadUserResponse } from '../api';
import { ApiSearchUsersRequest } from '../api';
import { ApiSearchUsersResponse } from '../api';
import { ApiUser } from '../api';
import { BodyModificationsChanges } from '../api';
import { BodyModificationsChanges1 } from '../api';
/**
 * UsersApi - axios parameter creator
 * @export
 */
export declare const UsersApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @param {ApiCreateUserRequest} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createUser: (body: ApiCreateUserRequest, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {string} id ONE /users/{id}
     * @param {Array<string>} [selection] MANY /users .ids&#x3D;[id,...]
     * @param {boolean} [permanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteUsers: (id: string, selection?: Array<string>, permanent?: boolean, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {Array<string>} selection MANY /users .ids&#x3D;[id,...]
     * @param {string} [id] ONE /users/{id}
     * @param {boolean} [permanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteUsers2: (selection: Array<string>, id?: string, permanent?: boolean, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {string} id
     * @param {object} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    logoutUser: (id: string, body: object, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {string} id
     * @param {Array<string>} [fields] partial output
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    readUser: (id: string, fields?: Array<string>, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {string} [id]
     * @param {Array<string>} [fields] partial output
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    readUser2: (id?: string, fields?: Array<string>, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {Array<string>} [id] ----- Base Filters ---------------------------  filter: .id &#x3D; any({id}...)
     * @param {Array<string>} [notId] filter: .id &lt;&gt; all({not_ids}...)
     * @param {string} [q] ----- User-specific Filters ------------------  filter: (.name|.username|.extension|.status) ILIKE \&#39;{q}\&#39;
     * @param {string} [name] filter: .name ILIKE \&#39;{name}\&#39;
     * @param {string} [status] filter: .status ILIKE \&#39;{status}\&#39;
     * @param {string} [username] filter: .username ILIKE \&#39;{username}\&#39;
     * @param {string} [extension] filter: .extension LIKE \&#39;{extension}\&#39;
     * @param {boolean} [any] ----- View Modes ----------------------------- NOTE: by default, search NOT \&#39;deleted\&#39; objects ONLY  filter: include \&#39;deleted\&#39; ALSO ! (inactive)
     * @param {boolean} [deleted] filter: .deleted_at NOTNULL (view: RECYCLE)
     * @param {string} [presenceStatus]
     * @param {string} [presenceNote]
     * @param {Array<string>} [fields] // navigation filter repeated int64 roles &#x3D; 7; ----- Search Options -------------------------  select: output (fields,...)
     * @param {Array<string>} [sort] select: order by (fields,...)
     * @param {number} [page] select: offset {page}
     * @param {number} [size] select: limit {size}
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchUsers: (id?: Array<string>, notId?: Array<string>, q?: string, name?: string, status?: string, username?: string, extension?: string, any?: boolean, deleted?: boolean, presenceStatus?: string, presenceNote?: string, fields?: Array<string>, sort?: Array<string>, page?: number, size?: number, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {ApiSearchUsersRequest} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchUsers2: (body: ApiSearchUsersRequest, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {string} userId Object ID
     * @param {BodyModificationsChanges} user
     * @param {Array<string>} [fields] PATCH: partial update
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateUser: (userId: string, user: BodyModificationsChanges, fields?: Array<string>, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {string} userId Object ID
     * @param {BodyModificationsChanges1} user
     * @param {Array<string>} [fields] PATCH: partial update
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateUser2: (userId: string, user: BodyModificationsChanges1, fields?: Array<string>, options?: any) => Promise<RequestArgs>;
};
/**
 * UsersApi - functional programming interface
 * @export
 */
export declare const UsersApiFp: (configuration?: Configuration) => {
    /**
     *
     * @param {ApiCreateUserRequest} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createUser(body: ApiCreateUserRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiCreateUserResponse>>;
    /**
     *
     * @param {string} id ONE /users/{id}
     * @param {Array<string>} [selection] MANY /users .ids&#x3D;[id,...]
     * @param {boolean} [permanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteUsers(id: string, selection?: Array<string>, permanent?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiDeleteUsersResponse>>;
    /**
     *
     * @param {Array<string>} selection MANY /users .ids&#x3D;[id,...]
     * @param {string} [id] ONE /users/{id}
     * @param {boolean} [permanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteUsers2(selection: Array<string>, id?: string, permanent?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiDeleteUsersResponse>>;
    /**
     *
     * @param {string} id
     * @param {object} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    logoutUser(id: string, body: object, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>>;
    /**
     *
     * @param {string} id
     * @param {Array<string>} [fields] partial output
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    readUser(id: string, fields?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiReadUserResponse>>;
    /**
     *
     * @param {string} [id]
     * @param {Array<string>} [fields] partial output
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    readUser2(id?: string, fields?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiReadUserResponse>>;
    /**
     *
     * @param {Array<string>} [id] ----- Base Filters ---------------------------  filter: .id &#x3D; any({id}...)
     * @param {Array<string>} [notId] filter: .id &lt;&gt; all({not_ids}...)
     * @param {string} [q] ----- User-specific Filters ------------------  filter: (.name|.username|.extension|.status) ILIKE \&#39;{q}\&#39;
     * @param {string} [name] filter: .name ILIKE \&#39;{name}\&#39;
     * @param {string} [status] filter: .status ILIKE \&#39;{status}\&#39;
     * @param {string} [username] filter: .username ILIKE \&#39;{username}\&#39;
     * @param {string} [extension] filter: .extension LIKE \&#39;{extension}\&#39;
     * @param {boolean} [any] ----- View Modes ----------------------------- NOTE: by default, search NOT \&#39;deleted\&#39; objects ONLY  filter: include \&#39;deleted\&#39; ALSO ! (inactive)
     * @param {boolean} [deleted] filter: .deleted_at NOTNULL (view: RECYCLE)
     * @param {string} [presenceStatus]
     * @param {string} [presenceNote]
     * @param {Array<string>} [fields] // navigation filter repeated int64 roles &#x3D; 7; ----- Search Options -------------------------  select: output (fields,...)
     * @param {Array<string>} [sort] select: order by (fields,...)
     * @param {number} [page] select: offset {page}
     * @param {number} [size] select: limit {size}
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchUsers(id?: Array<string>, notId?: Array<string>, q?: string, name?: string, status?: string, username?: string, extension?: string, any?: boolean, deleted?: boolean, presenceStatus?: string, presenceNote?: string, fields?: Array<string>, sort?: Array<string>, page?: number, size?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiSearchUsersResponse>>;
    /**
     *
     * @param {ApiSearchUsersRequest} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchUsers2(body: ApiSearchUsersRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiSearchUsersResponse>>;
    /**
     *
     * @param {string} userId Object ID
     * @param {BodyModificationsChanges} user
     * @param {Array<string>} [fields] PATCH: partial update
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateUser(userId: string, user: BodyModificationsChanges, fields?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiUser>>;
    /**
     *
     * @param {string} userId Object ID
     * @param {BodyModificationsChanges1} user
     * @param {Array<string>} [fields] PATCH: partial update
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateUser2(userId: string, user: BodyModificationsChanges1, fields?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiUser>>;
};
/**
 * UsersApi - factory interface
 * @export
 */
export declare const UsersApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @param {ApiCreateUserRequest} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createUser(body: ApiCreateUserRequest, options?: any): AxiosPromise<ApiCreateUserResponse>;
    /**
     *
     * @param {string} id ONE /users/{id}
     * @param {Array<string>} [selection] MANY /users .ids&#x3D;[id,...]
     * @param {boolean} [permanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteUsers(id: string, selection?: Array<string>, permanent?: boolean, options?: any): AxiosPromise<ApiDeleteUsersResponse>;
    /**
     *
     * @param {Array<string>} selection MANY /users .ids&#x3D;[id,...]
     * @param {string} [id] ONE /users/{id}
     * @param {boolean} [permanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteUsers2(selection: Array<string>, id?: string, permanent?: boolean, options?: any): AxiosPromise<ApiDeleteUsersResponse>;
    /**
     *
     * @param {string} id
     * @param {object} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    logoutUser(id: string, body: object, options?: any): AxiosPromise<object>;
    /**
     *
     * @param {string} id
     * @param {Array<string>} [fields] partial output
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    readUser(id: string, fields?: Array<string>, options?: any): AxiosPromise<ApiReadUserResponse>;
    /**
     *
     * @param {string} [id]
     * @param {Array<string>} [fields] partial output
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    readUser2(id?: string, fields?: Array<string>, options?: any): AxiosPromise<ApiReadUserResponse>;
    /**
     *
     * @param {Array<string>} [id] ----- Base Filters ---------------------------  filter: .id &#x3D; any({id}...)
     * @param {Array<string>} [notId] filter: .id &lt;&gt; all({not_ids}...)
     * @param {string} [q] ----- User-specific Filters ------------------  filter: (.name|.username|.extension|.status) ILIKE \&#39;{q}\&#39;
     * @param {string} [name] filter: .name ILIKE \&#39;{name}\&#39;
     * @param {string} [status] filter: .status ILIKE \&#39;{status}\&#39;
     * @param {string} [username] filter: .username ILIKE \&#39;{username}\&#39;
     * @param {string} [extension] filter: .extension LIKE \&#39;{extension}\&#39;
     * @param {boolean} [any] ----- View Modes ----------------------------- NOTE: by default, search NOT \&#39;deleted\&#39; objects ONLY  filter: include \&#39;deleted\&#39; ALSO ! (inactive)
     * @param {boolean} [deleted] filter: .deleted_at NOTNULL (view: RECYCLE)
     * @param {string} [presenceStatus]
     * @param {string} [presenceNote]
     * @param {Array<string>} [fields] // navigation filter repeated int64 roles &#x3D; 7; ----- Search Options -------------------------  select: output (fields,...)
     * @param {Array<string>} [sort] select: order by (fields,...)
     * @param {number} [page] select: offset {page}
     * @param {number} [size] select: limit {size}
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchUsers(id?: Array<string>, notId?: Array<string>, q?: string, name?: string, status?: string, username?: string, extension?: string, any?: boolean, deleted?: boolean, presenceStatus?: string, presenceNote?: string, fields?: Array<string>, sort?: Array<string>, page?: number, size?: number, options?: any): AxiosPromise<ApiSearchUsersResponse>;
    /**
     *
     * @param {ApiSearchUsersRequest} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchUsers2(body: ApiSearchUsersRequest, options?: any): AxiosPromise<ApiSearchUsersResponse>;
    /**
     *
     * @param {string} userId Object ID
     * @param {BodyModificationsChanges} user
     * @param {Array<string>} [fields] PATCH: partial update
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateUser(userId: string, user: BodyModificationsChanges, fields?: Array<string>, options?: any): AxiosPromise<ApiUser>;
    /**
     *
     * @param {string} userId Object ID
     * @param {BodyModificationsChanges1} user
     * @param {Array<string>} [fields] PATCH: partial update
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateUser2(userId: string, user: BodyModificationsChanges1, fields?: Array<string>, options?: any): AxiosPromise<ApiUser>;
};
/**
 * UsersApi - object-oriented interface
 * @export
 * @class UsersApi
 * @extends {BaseAPI}
 */
export declare class UsersApi extends BaseAPI {
    /**
     *
     * @param {ApiCreateUserRequest} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    createUser(body: ApiCreateUserRequest, options?: any): Promise<import("axios").AxiosResponse<ApiCreateUserResponse, any, {}>>;
    /**
     *
     * @param {string} id ONE /users/{id}
     * @param {Array<string>} [selection] MANY /users .ids&#x3D;[id,...]
     * @param {boolean} [permanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    deleteUsers(id: string, selection?: Array<string>, permanent?: boolean, options?: any): Promise<import("axios").AxiosResponse<ApiDeleteUsersResponse, any, {}>>;
    /**
     *
     * @param {Array<string>} selection MANY /users .ids&#x3D;[id,...]
     * @param {string} [id] ONE /users/{id}
     * @param {boolean} [permanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    deleteUsers2(selection: Array<string>, id?: string, permanent?: boolean, options?: any): Promise<import("axios").AxiosResponse<ApiDeleteUsersResponse, any, {}>>;
    /**
     *
     * @param {string} id
     * @param {object} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    logoutUser(id: string, body: object, options?: any): Promise<import("axios").AxiosResponse<object, any, {}>>;
    /**
     *
     * @param {string} id
     * @param {Array<string>} [fields] partial output
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    readUser(id: string, fields?: Array<string>, options?: any): Promise<import("axios").AxiosResponse<ApiReadUserResponse, any, {}>>;
    /**
     *
     * @param {string} [id]
     * @param {Array<string>} [fields] partial output
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    readUser2(id?: string, fields?: Array<string>, options?: any): Promise<import("axios").AxiosResponse<ApiReadUserResponse, any, {}>>;
    /**
     *
     * @param {Array<string>} [id] ----- Base Filters ---------------------------  filter: .id &#x3D; any({id}...)
     * @param {Array<string>} [notId] filter: .id &lt;&gt; all({not_ids}...)
     * @param {string} [q] ----- User-specific Filters ------------------  filter: (.name|.username|.extension|.status) ILIKE \&#39;{q}\&#39;
     * @param {string} [name] filter: .name ILIKE \&#39;{name}\&#39;
     * @param {string} [status] filter: .status ILIKE \&#39;{status}\&#39;
     * @param {string} [username] filter: .username ILIKE \&#39;{username}\&#39;
     * @param {string} [extension] filter: .extension LIKE \&#39;{extension}\&#39;
     * @param {boolean} [any] ----- View Modes ----------------------------- NOTE: by default, search NOT \&#39;deleted\&#39; objects ONLY  filter: include \&#39;deleted\&#39; ALSO ! (inactive)
     * @param {boolean} [deleted] filter: .deleted_at NOTNULL (view: RECYCLE)
     * @param {string} [presenceStatus]
     * @param {string} [presenceNote]
     * @param {Array<string>} [fields] // navigation filter repeated int64 roles &#x3D; 7; ----- Search Options -------------------------  select: output (fields,...)
     * @param {Array<string>} [sort] select: order by (fields,...)
     * @param {number} [page] select: offset {page}
     * @param {number} [size] select: limit {size}
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    searchUsers(id?: Array<string>, notId?: Array<string>, q?: string, name?: string, status?: string, username?: string, extension?: string, any?: boolean, deleted?: boolean, presenceStatus?: string, presenceNote?: string, fields?: Array<string>, sort?: Array<string>, page?: number, size?: number, options?: any): Promise<import("axios").AxiosResponse<ApiSearchUsersResponse, any, {}>>;
    /**
     *
     * @param {ApiSearchUsersRequest} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    searchUsers2(body: ApiSearchUsersRequest, options?: any): Promise<import("axios").AxiosResponse<ApiSearchUsersResponse, any, {}>>;
    /**
     *
     * @param {string} userId Object ID
     * @param {BodyModificationsChanges} user
     * @param {Array<string>} [fields] PATCH: partial update
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    updateUser(userId: string, user: BodyModificationsChanges, fields?: Array<string>, options?: any): Promise<import("axios").AxiosResponse<ApiUser, any, {}>>;
    /**
     *
     * @param {string} userId Object ID
     * @param {BodyModificationsChanges1} user
     * @param {Array<string>} [fields] PATCH: partial update
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    updateUser2(userId: string, user: BodyModificationsChanges1, fields?: Array<string>, options?: any): Promise<import("axios").AxiosResponse<ApiUser, any, {}>>;
}
//# sourceMappingURL=users-api.d.ts.map