/**
 * 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 { NEWUpdateOfTheManagerLink } from '../api';
import { NEWUpdateOfTheManagerLink1 } from '../api';
import { WebitelContactsInputManager } from '../api';
import { WebitelContactsManager } from '../api';
import { WebitelContactsManagerList } from '../api';
/**
 * ManagersApi - axios parameter creator
 * @export
 */
export declare const ManagersApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary Remove the contact\'s manager address link
     * @param {string} contactId Contact ID associated with.
     * @param {string} etag Unique ID to remove.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteManager: (contactId: string, etag: string, fields?: Array<string>, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @summary Remove Contact Managers associations.
     * @param {string} contactId Contact ID associated with.
     * @param {Array<string>} etag Set of unique ID(s) to remove.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteManagers: (contactId: string, etag: Array<string>, fields?: Array<string>, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @summary Search the Contact\'s Managers.
     * @param {string} contactId Contact ID associated with.
     * @param {number} [page] Page number of result. offset &#x3D; ((page-1)*size)
     * @param {number} [size] Size of result page. limit &#x3D; (size++)
     * @param {string} [q] Search term: user name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters
     * @param {Array<string>} [sort] Sort the result according to fields.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {Array<string>} [id] Record(s) with unique ID only.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listManagers: (contactId: string, page?: number, size?: number, q?: string, sort?: Array<string>, fields?: Array<string>, id?: Array<string>, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @summary Locate the manager address link.
     * @param {string} contactId Contact source ID.
     * @param {string} etag Unique manager link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.
     * @param {Array<string>} [fields] Fields to be retrieved into result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    locateManager: (contactId: string, etag: string, fields?: Array<string>, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @summary Associate new Managers to the Contact.
     * @param {string} contactId Link contact ID.
     * @param {Array<WebitelContactsInputManager>} input Array of the unique User(s) to associate with the Contact. Any duplicate of an already linked user{id} will result in an error.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    mergeManagers: (contactId: string, input: Array<WebitelContactsInputManager>, fields?: Array<string>, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @summary Reset Managers to fit the specified final set.
     * @param {string} contactId Contact ID associated with.
     * @param {Array<WebitelContactsInputManager>} input Final set of unique User(s) to be linked with the Contact. User(s) that are already linked with the Contact but not listed here will be removed. The first element will become &#x60;primary&#x60; if no other specified.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    resetManagers: (contactId: string, input: Array<WebitelContactsInputManager>, fields?: Array<string>, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @summary Update the contact\'s manager address link details
     * @param {string} contactId Link contact ID.
     * @param {string} etag Unique ID of the latest version of an existing resource.
     * @param {NEWUpdateOfTheManagerLink} input
     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateManager: (contactId: string, etag: string, input: NEWUpdateOfTheManagerLink, fields?: Array<string>, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @summary Update the contact\'s manager address link details
     * @param {string} contactId Link contact ID.
     * @param {string} etag Unique ID of the latest version of an existing resource.
     * @param {NEWUpdateOfTheManagerLink1} input
     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateManager2: (contactId: string, etag: string, input: NEWUpdateOfTheManagerLink1, fields?: Array<string>, options?: any) => Promise<RequestArgs>;
};
/**
 * ManagersApi - functional programming interface
 * @export
 */
export declare const ManagersApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary Remove the contact\'s manager address link
     * @param {string} contactId Contact ID associated with.
     * @param {string} etag Unique ID to remove.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteManager(contactId: string, etag: string, fields?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WebitelContactsManager>>;
    /**
     *
     * @summary Remove Contact Managers associations.
     * @param {string} contactId Contact ID associated with.
     * @param {Array<string>} etag Set of unique ID(s) to remove.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteManagers(contactId: string, etag: Array<string>, fields?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<WebitelContactsManager>>>;
    /**
     *
     * @summary Search the Contact\'s Managers.
     * @param {string} contactId Contact ID associated with.
     * @param {number} [page] Page number of result. offset &#x3D; ((page-1)*size)
     * @param {number} [size] Size of result page. limit &#x3D; (size++)
     * @param {string} [q] Search term: user name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters
     * @param {Array<string>} [sort] Sort the result according to fields.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {Array<string>} [id] Record(s) with unique ID only.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listManagers(contactId: string, page?: number, size?: number, q?: string, sort?: Array<string>, fields?: Array<string>, id?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WebitelContactsManagerList>>;
    /**
     *
     * @summary Locate the manager address link.
     * @param {string} contactId Contact source ID.
     * @param {string} etag Unique manager link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.
     * @param {Array<string>} [fields] Fields to be retrieved into result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    locateManager(contactId: string, etag: string, fields?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WebitelContactsManager>>;
    /**
     *
     * @summary Associate new Managers to the Contact.
     * @param {string} contactId Link contact ID.
     * @param {Array<WebitelContactsInputManager>} input Array of the unique User(s) to associate with the Contact. Any duplicate of an already linked user{id} will result in an error.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    mergeManagers(contactId: string, input: Array<WebitelContactsInputManager>, fields?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WebitelContactsManagerList>>;
    /**
     *
     * @summary Reset Managers to fit the specified final set.
     * @param {string} contactId Contact ID associated with.
     * @param {Array<WebitelContactsInputManager>} input Final set of unique User(s) to be linked with the Contact. User(s) that are already linked with the Contact but not listed here will be removed. The first element will become &#x60;primary&#x60; if no other specified.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    resetManagers(contactId: string, input: Array<WebitelContactsInputManager>, fields?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WebitelContactsManagerList>>;
    /**
     *
     * @summary Update the contact\'s manager address link details
     * @param {string} contactId Link contact ID.
     * @param {string} etag Unique ID of the latest version of an existing resource.
     * @param {NEWUpdateOfTheManagerLink} input
     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateManager(contactId: string, etag: string, input: NEWUpdateOfTheManagerLink, fields?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WebitelContactsManagerList>>;
    /**
     *
     * @summary Update the contact\'s manager address link details
     * @param {string} contactId Link contact ID.
     * @param {string} etag Unique ID of the latest version of an existing resource.
     * @param {NEWUpdateOfTheManagerLink1} input
     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateManager2(contactId: string, etag: string, input: NEWUpdateOfTheManagerLink1, fields?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WebitelContactsManagerList>>;
};
/**
 * ManagersApi - factory interface
 * @export
 */
export declare const ManagersApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary Remove the contact\'s manager address link
     * @param {string} contactId Contact ID associated with.
     * @param {string} etag Unique ID to remove.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteManager(contactId: string, etag: string, fields?: Array<string>, options?: any): AxiosPromise<WebitelContactsManager>;
    /**
     *
     * @summary Remove Contact Managers associations.
     * @param {string} contactId Contact ID associated with.
     * @param {Array<string>} etag Set of unique ID(s) to remove.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteManagers(contactId: string, etag: Array<string>, fields?: Array<string>, options?: any): AxiosPromise<Array<WebitelContactsManager>>;
    /**
     *
     * @summary Search the Contact\'s Managers.
     * @param {string} contactId Contact ID associated with.
     * @param {number} [page] Page number of result. offset &#x3D; ((page-1)*size)
     * @param {number} [size] Size of result page. limit &#x3D; (size++)
     * @param {string} [q] Search term: user name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters
     * @param {Array<string>} [sort] Sort the result according to fields.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {Array<string>} [id] Record(s) with unique ID only.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listManagers(contactId: string, page?: number, size?: number, q?: string, sort?: Array<string>, fields?: Array<string>, id?: Array<string>, options?: any): AxiosPromise<WebitelContactsManagerList>;
    /**
     *
     * @summary Locate the manager address link.
     * @param {string} contactId Contact source ID.
     * @param {string} etag Unique manager link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.
     * @param {Array<string>} [fields] Fields to be retrieved into result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    locateManager(contactId: string, etag: string, fields?: Array<string>, options?: any): AxiosPromise<WebitelContactsManager>;
    /**
     *
     * @summary Associate new Managers to the Contact.
     * @param {string} contactId Link contact ID.
     * @param {Array<WebitelContactsInputManager>} input Array of the unique User(s) to associate with the Contact. Any duplicate of an already linked user{id} will result in an error.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    mergeManagers(contactId: string, input: Array<WebitelContactsInputManager>, fields?: Array<string>, options?: any): AxiosPromise<WebitelContactsManagerList>;
    /**
     *
     * @summary Reset Managers to fit the specified final set.
     * @param {string} contactId Contact ID associated with.
     * @param {Array<WebitelContactsInputManager>} input Final set of unique User(s) to be linked with the Contact. User(s) that are already linked with the Contact but not listed here will be removed. The first element will become &#x60;primary&#x60; if no other specified.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    resetManagers(contactId: string, input: Array<WebitelContactsInputManager>, fields?: Array<string>, options?: any): AxiosPromise<WebitelContactsManagerList>;
    /**
     *
     * @summary Update the contact\'s manager address link details
     * @param {string} contactId Link contact ID.
     * @param {string} etag Unique ID of the latest version of an existing resource.
     * @param {NEWUpdateOfTheManagerLink} input
     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateManager(contactId: string, etag: string, input: NEWUpdateOfTheManagerLink, fields?: Array<string>, options?: any): AxiosPromise<WebitelContactsManagerList>;
    /**
     *
     * @summary Update the contact\'s manager address link details
     * @param {string} contactId Link contact ID.
     * @param {string} etag Unique ID of the latest version of an existing resource.
     * @param {NEWUpdateOfTheManagerLink1} input
     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateManager2(contactId: string, etag: string, input: NEWUpdateOfTheManagerLink1, fields?: Array<string>, options?: any): AxiosPromise<WebitelContactsManagerList>;
};
/**
 * ManagersApi - object-oriented interface
 * @export
 * @class ManagersApi
 * @extends {BaseAPI}
 */
export declare class ManagersApi extends BaseAPI {
    /**
     *
     * @summary Remove the contact\'s manager address link
     * @param {string} contactId Contact ID associated with.
     * @param {string} etag Unique ID to remove.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ManagersApi
     */
    deleteManager(contactId: string, etag: string, fields?: Array<string>, options?: any): Promise<import("axios").AxiosResponse<WebitelContactsManager, any, {}>>;
    /**
     *
     * @summary Remove Contact Managers associations.
     * @param {string} contactId Contact ID associated with.
     * @param {Array<string>} etag Set of unique ID(s) to remove.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ManagersApi
     */
    deleteManagers(contactId: string, etag: Array<string>, fields?: Array<string>, options?: any): Promise<import("axios").AxiosResponse<WebitelContactsManager[], any, {}>>;
    /**
     *
     * @summary Search the Contact\'s Managers.
     * @param {string} contactId Contact ID associated with.
     * @param {number} [page] Page number of result. offset &#x3D; ((page-1)*size)
     * @param {number} [size] Size of result page. limit &#x3D; (size++)
     * @param {string} [q] Search term: user name; &#x60;?&#x60; - matches any one character &#x60;*&#x60; - matches 0 or more characters
     * @param {Array<string>} [sort] Sort the result according to fields.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {Array<string>} [id] Record(s) with unique ID only.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ManagersApi
     */
    listManagers(contactId: string, page?: number, size?: number, q?: string, sort?: Array<string>, fields?: Array<string>, id?: Array<string>, options?: any): Promise<import("axios").AxiosResponse<WebitelContactsManagerList, any, {}>>;
    /**
     *
     * @summary Locate the manager address link.
     * @param {string} contactId Contact source ID.
     * @param {string} etag Unique manager link IDentifier. Accept: &#x60;etag&#x60; (obsolete+) or &#x60;id&#x60;.
     * @param {Array<string>} [fields] Fields to be retrieved into result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ManagersApi
     */
    locateManager(contactId: string, etag: string, fields?: Array<string>, options?: any): Promise<import("axios").AxiosResponse<WebitelContactsManager, any, {}>>;
    /**
     *
     * @summary Associate new Managers to the Contact.
     * @param {string} contactId Link contact ID.
     * @param {Array<WebitelContactsInputManager>} input Array of the unique User(s) to associate with the Contact. Any duplicate of an already linked user{id} will result in an error.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ManagersApi
     */
    mergeManagers(contactId: string, input: Array<WebitelContactsInputManager>, fields?: Array<string>, options?: any): Promise<import("axios").AxiosResponse<WebitelContactsManagerList, any, {}>>;
    /**
     *
     * @summary Reset Managers to fit the specified final set.
     * @param {string} contactId Contact ID associated with.
     * @param {Array<WebitelContactsInputManager>} input Final set of unique User(s) to be linked with the Contact. User(s) that are already linked with the Contact but not listed here will be removed. The first element will become &#x60;primary&#x60; if no other specified.
     * @param {Array<string>} [fields] Fields to be retrieved as a result.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ManagersApi
     */
    resetManagers(contactId: string, input: Array<WebitelContactsInputManager>, fields?: Array<string>, options?: any): Promise<import("axios").AxiosResponse<WebitelContactsManagerList, any, {}>>;
    /**
     *
     * @summary Update the contact\'s manager address link details
     * @param {string} contactId Link contact ID.
     * @param {string} etag Unique ID of the latest version of an existing resource.
     * @param {NEWUpdateOfTheManagerLink} input
     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ManagersApi
     */
    updateManager(contactId: string, etag: string, input: NEWUpdateOfTheManagerLink, fields?: Array<string>, options?: any): Promise<import("axios").AxiosResponse<WebitelContactsManagerList, any, {}>>;
    /**
     *
     * @summary Update the contact\'s manager address link details
     * @param {string} contactId Link contact ID.
     * @param {string} etag Unique ID of the latest version of an existing resource.
     * @param {NEWUpdateOfTheManagerLink1} input
     * @param {Array<string>} [fields] Fields to be retrieved into result of changes.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ManagersApi
     */
    updateManager2(contactId: string, etag: string, input: NEWUpdateOfTheManagerLink1, fields?: Array<string>, options?: any): Promise<import("axios").AxiosResponse<WebitelContactsManagerList, any, {}>>;
}
//# sourceMappingURL=managers-api.d.ts.map