/**
 * 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 { ApiCreateDeviceResponse } from '../api';
import { ApiDeleteDeviceResponse } from '../api';
import { ApiDevice } from '../api';
import { ApiDeviceAuditResponse } from '../api';
import { ApiListRegistrationsResponse } from '../api';
import { ApiReadDeviceResponse } from '../api';
import { ApiSearchDeviceResponse } from '../api';
import { ApiUpdateDeviceResponse } from '../api';
import { DeviceProfile } from '../api';
import { DeviceProfile1 } from '../api';
/**
 * DevicesApi - axios parameter creator
 * @export
 */
export declare const DevicesApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @param {ApiDevice} device string password &#x3D; 2;
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createDevice: (device: ApiDevice, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {string} id
     * @param {boolean} [permanent]
     * @param {Array<string>} [ids] bulk
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteDevice: (id: string, permanent?: boolean, ids?: Array<string>, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {Array<string>} ids bulk
     * @param {string} [id]
     * @param {boolean} [permanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteDevice2: (ids: Array<string>, id?: string, permanent?: boolean, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {string} deviceId Object ID
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [deviceName] Display Name
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listRegistrations: (deviceId: string, userId?: string, userName?: string, deviceName?: string, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {string} id
     * @param {Array<string>} [fields] output selection
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    readDevice: (id: string, fields?: Array<string>, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {number} [size] ----- Select Options -------------------------  default: 16
     * @param {number} [page] default: 1
     * @param {Array<string>} [fields] attributes list
     * @param {Array<string>} [sort] e.g.: \&quot;updated_at\&quot; - ASC; \&quot;!updated_at\&quot; - DESC;
     * @param {Array<string>} [ids] ----- Search Basic Filters ---------------------------  selection: by unique identifier
     * @param {string} [q] term-of-search: lookup[name,account,hotdesk,brand,model,mac,ip]
     * @param {string} [name] case-ignore substring match: ILIKE \&#39;*\&#39; - any; \&#39;?\&#39; - one
     * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!
     * @param {string} [account] ----- Device-Specific Filters ----------------  substring like \&#39;%name%\&#39;
     * @param {string} [hotdesk] filter: has hotdesk (&#x3D;pattern); is hotdesk (&#x3D;*)
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [mac] filter: by MAC address
     * @param {string} [ip] filter: by IP address
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchDevice: (size?: number, page?: number, fields?: Array<string>, sort?: Array<string>, ids?: Array<string>, q?: string, name?: string, access?: string, account?: string, hotdesk?: string, userId?: string, userName?: string, mac?: string, ip?: string, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @summary ----- Details (1:M) ----------------------------------------------
     * @param {string} deviceId Object ID
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [deviceName] Display Name
     * @param {string} [timeFrom] Filter: timing range (optional)  unix milliseconds
     * @param {string} [timeTill] unix milliseconds
     * @param {Array<string>} [fields] Search Options
     * @param {Array<string>} [sort]
     * @param {number} [size]
     * @param {number} [page]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchDeviceAudit: (deviceId: string, userId?: string, userName?: string, deviceName?: string, timeFrom?: string, timeTill?: string, fields?: Array<string>, sort?: Array<string>, size?: number, page?: number, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {string} deviceId object id
     * @param {DeviceProfile} device
     * @param {Array<string>} [fields] PATCH: partial update
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateDevice: (deviceId: string, device: DeviceProfile, fields?: Array<string>, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @param {string} deviceId object id
     * @param {DeviceProfile1} device
     * @param {Array<string>} [fields] PATCH: partial update
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateDevice2: (deviceId: string, device: DeviceProfile1, fields?: Array<string>, options?: any) => Promise<RequestArgs>;
};
/**
 * DevicesApi - functional programming interface
 * @export
 */
export declare const DevicesApiFp: (configuration?: Configuration) => {
    /**
     *
     * @param {ApiDevice} device string password &#x3D; 2;
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createDevice(device: ApiDevice, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiCreateDeviceResponse>>;
    /**
     *
     * @param {string} id
     * @param {boolean} [permanent]
     * @param {Array<string>} [ids] bulk
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteDevice(id: string, permanent?: boolean, ids?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiDeleteDeviceResponse>>;
    /**
     *
     * @param {Array<string>} ids bulk
     * @param {string} [id]
     * @param {boolean} [permanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteDevice2(ids: Array<string>, id?: string, permanent?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiDeleteDeviceResponse>>;
    /**
     *
     * @param {string} deviceId Object ID
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [deviceName] Display Name
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listRegistrations(deviceId: string, userId?: string, userName?: string, deviceName?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiListRegistrationsResponse>>;
    /**
     *
     * @param {string} id
     * @param {Array<string>} [fields] output selection
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    readDevice(id: string, fields?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiReadDeviceResponse>>;
    /**
     *
     * @param {number} [size] ----- Select Options -------------------------  default: 16
     * @param {number} [page] default: 1
     * @param {Array<string>} [fields] attributes list
     * @param {Array<string>} [sort] e.g.: \&quot;updated_at\&quot; - ASC; \&quot;!updated_at\&quot; - DESC;
     * @param {Array<string>} [ids] ----- Search Basic Filters ---------------------------  selection: by unique identifier
     * @param {string} [q] term-of-search: lookup[name,account,hotdesk,brand,model,mac,ip]
     * @param {string} [name] case-ignore substring match: ILIKE \&#39;*\&#39; - any; \&#39;?\&#39; - one
     * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!
     * @param {string} [account] ----- Device-Specific Filters ----------------  substring like \&#39;%name%\&#39;
     * @param {string} [hotdesk] filter: has hotdesk (&#x3D;pattern); is hotdesk (&#x3D;*)
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [mac] filter: by MAC address
     * @param {string} [ip] filter: by IP address
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchDevice(size?: number, page?: number, fields?: Array<string>, sort?: Array<string>, ids?: Array<string>, q?: string, name?: string, access?: string, account?: string, hotdesk?: string, userId?: string, userName?: string, mac?: string, ip?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiSearchDeviceResponse>>;
    /**
     *
     * @summary ----- Details (1:M) ----------------------------------------------
     * @param {string} deviceId Object ID
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [deviceName] Display Name
     * @param {string} [timeFrom] Filter: timing range (optional)  unix milliseconds
     * @param {string} [timeTill] unix milliseconds
     * @param {Array<string>} [fields] Search Options
     * @param {Array<string>} [sort]
     * @param {number} [size]
     * @param {number} [page]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchDeviceAudit(deviceId: string, userId?: string, userName?: string, deviceName?: string, timeFrom?: string, timeTill?: string, fields?: Array<string>, sort?: Array<string>, size?: number, page?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiDeviceAuditResponse>>;
    /**
     *
     * @param {string} deviceId object id
     * @param {DeviceProfile} device
     * @param {Array<string>} [fields] PATCH: partial update
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateDevice(deviceId: string, device: DeviceProfile, fields?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiUpdateDeviceResponse>>;
    /**
     *
     * @param {string} deviceId object id
     * @param {DeviceProfile1} device
     * @param {Array<string>} [fields] PATCH: partial update
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateDevice2(deviceId: string, device: DeviceProfile1, fields?: Array<string>, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiUpdateDeviceResponse>>;
};
/**
 * DevicesApi - factory interface
 * @export
 */
export declare const DevicesApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @param {ApiDevice} device string password &#x3D; 2;
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createDevice(device: ApiDevice, options?: any): AxiosPromise<ApiCreateDeviceResponse>;
    /**
     *
     * @param {string} id
     * @param {boolean} [permanent]
     * @param {Array<string>} [ids] bulk
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteDevice(id: string, permanent?: boolean, ids?: Array<string>, options?: any): AxiosPromise<ApiDeleteDeviceResponse>;
    /**
     *
     * @param {Array<string>} ids bulk
     * @param {string} [id]
     * @param {boolean} [permanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteDevice2(ids: Array<string>, id?: string, permanent?: boolean, options?: any): AxiosPromise<ApiDeleteDeviceResponse>;
    /**
     *
     * @param {string} deviceId Object ID
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [deviceName] Display Name
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listRegistrations(deviceId: string, userId?: string, userName?: string, deviceName?: string, options?: any): AxiosPromise<ApiListRegistrationsResponse>;
    /**
     *
     * @param {string} id
     * @param {Array<string>} [fields] output selection
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    readDevice(id: string, fields?: Array<string>, options?: any): AxiosPromise<ApiReadDeviceResponse>;
    /**
     *
     * @param {number} [size] ----- Select Options -------------------------  default: 16
     * @param {number} [page] default: 1
     * @param {Array<string>} [fields] attributes list
     * @param {Array<string>} [sort] e.g.: \&quot;updated_at\&quot; - ASC; \&quot;!updated_at\&quot; - DESC;
     * @param {Array<string>} [ids] ----- Search Basic Filters ---------------------------  selection: by unique identifier
     * @param {string} [q] term-of-search: lookup[name,account,hotdesk,brand,model,mac,ip]
     * @param {string} [name] case-ignore substring match: ILIKE \&#39;*\&#39; - any; \&#39;?\&#39; - one
     * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!
     * @param {string} [account] ----- Device-Specific Filters ----------------  substring like \&#39;%name%\&#39;
     * @param {string} [hotdesk] filter: has hotdesk (&#x3D;pattern); is hotdesk (&#x3D;*)
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [mac] filter: by MAC address
     * @param {string} [ip] filter: by IP address
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchDevice(size?: number, page?: number, fields?: Array<string>, sort?: Array<string>, ids?: Array<string>, q?: string, name?: string, access?: string, account?: string, hotdesk?: string, userId?: string, userName?: string, mac?: string, ip?: string, options?: any): AxiosPromise<ApiSearchDeviceResponse>;
    /**
     *
     * @summary ----- Details (1:M) ----------------------------------------------
     * @param {string} deviceId Object ID
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [deviceName] Display Name
     * @param {string} [timeFrom] Filter: timing range (optional)  unix milliseconds
     * @param {string} [timeTill] unix milliseconds
     * @param {Array<string>} [fields] Search Options
     * @param {Array<string>} [sort]
     * @param {number} [size]
     * @param {number} [page]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    searchDeviceAudit(deviceId: string, userId?: string, userName?: string, deviceName?: string, timeFrom?: string, timeTill?: string, fields?: Array<string>, sort?: Array<string>, size?: number, page?: number, options?: any): AxiosPromise<ApiDeviceAuditResponse>;
    /**
     *
     * @param {string} deviceId object id
     * @param {DeviceProfile} device
     * @param {Array<string>} [fields] PATCH: partial update
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateDevice(deviceId: string, device: DeviceProfile, fields?: Array<string>, options?: any): AxiosPromise<ApiUpdateDeviceResponse>;
    /**
     *
     * @param {string} deviceId object id
     * @param {DeviceProfile1} device
     * @param {Array<string>} [fields] PATCH: partial update
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateDevice2(deviceId: string, device: DeviceProfile1, fields?: Array<string>, options?: any): AxiosPromise<ApiUpdateDeviceResponse>;
};
/**
 * DevicesApi - object-oriented interface
 * @export
 * @class DevicesApi
 * @extends {BaseAPI}
 */
export declare class DevicesApi extends BaseAPI {
    /**
     *
     * @param {ApiDevice} device string password &#x3D; 2;
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DevicesApi
     */
    createDevice(device: ApiDevice, options?: any): Promise<import("axios").AxiosResponse<ApiCreateDeviceResponse, any, {}>>;
    /**
     *
     * @param {string} id
     * @param {boolean} [permanent]
     * @param {Array<string>} [ids] bulk
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DevicesApi
     */
    deleteDevice(id: string, permanent?: boolean, ids?: Array<string>, options?: any): Promise<import("axios").AxiosResponse<ApiDeleteDeviceResponse, any, {}>>;
    /**
     *
     * @param {Array<string>} ids bulk
     * @param {string} [id]
     * @param {boolean} [permanent]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DevicesApi
     */
    deleteDevice2(ids: Array<string>, id?: string, permanent?: boolean, options?: any): Promise<import("axios").AxiosResponse<ApiDeleteDeviceResponse, any, {}>>;
    /**
     *
     * @param {string} deviceId Object ID
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [deviceName] Display Name
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DevicesApi
     */
    listRegistrations(deviceId: string, userId?: string, userName?: string, deviceName?: string, options?: any): Promise<import("axios").AxiosResponse<ApiListRegistrationsResponse, any, {}>>;
    /**
     *
     * @param {string} id
     * @param {Array<string>} [fields] output selection
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DevicesApi
     */
    readDevice(id: string, fields?: Array<string>, options?: any): Promise<import("axios").AxiosResponse<ApiReadDeviceResponse, any, {}>>;
    /**
     *
     * @param {number} [size] ----- Select Options -------------------------  default: 16
     * @param {number} [page] default: 1
     * @param {Array<string>} [fields] attributes list
     * @param {Array<string>} [sort] e.g.: \&quot;updated_at\&quot; - ASC; \&quot;!updated_at\&quot; - DESC;
     * @param {Array<string>} [ids] ----- Search Basic Filters ---------------------------  selection: by unique identifier
     * @param {string} [q] term-of-search: lookup[name,account,hotdesk,brand,model,mac,ip]
     * @param {string} [name] case-ignore substring match: ILIKE \&#39;*\&#39; - any; \&#39;?\&#39; - one
     * @param {string} [access] [M]andatory[A]ccess[C]ontrol: with access mode (action) granted!
     * @param {string} [account] ----- Device-Specific Filters ----------------  substring like \&#39;%name%\&#39;
     * @param {string} [hotdesk] filter: has hotdesk (&#x3D;pattern); is hotdesk (&#x3D;*)
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [mac] filter: by MAC address
     * @param {string} [ip] filter: by IP address
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DevicesApi
     */
    searchDevice(size?: number, page?: number, fields?: Array<string>, sort?: Array<string>, ids?: Array<string>, q?: string, name?: string, access?: string, account?: string, hotdesk?: string, userId?: string, userName?: string, mac?: string, ip?: string, options?: any): Promise<import("axios").AxiosResponse<ApiSearchDeviceResponse, any, {}>>;
    /**
     *
     * @summary ----- Details (1:M) ----------------------------------------------
     * @param {string} deviceId Object ID
     * @param {string} [userId] Object ID
     * @param {string} [userName] Display Name
     * @param {string} [deviceName] Display Name
     * @param {string} [timeFrom] Filter: timing range (optional)  unix milliseconds
     * @param {string} [timeTill] unix milliseconds
     * @param {Array<string>} [fields] Search Options
     * @param {Array<string>} [sort]
     * @param {number} [size]
     * @param {number} [page]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DevicesApi
     */
    searchDeviceAudit(deviceId: string, userId?: string, userName?: string, deviceName?: string, timeFrom?: string, timeTill?: string, fields?: Array<string>, sort?: Array<string>, size?: number, page?: number, options?: any): Promise<import("axios").AxiosResponse<ApiDeviceAuditResponse, any, {}>>;
    /**
     *
     * @param {string} deviceId object id
     * @param {DeviceProfile} device
     * @param {Array<string>} [fields] PATCH: partial update
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DevicesApi
     */
    updateDevice(deviceId: string, device: DeviceProfile, fields?: Array<string>, options?: any): Promise<import("axios").AxiosResponse<ApiUpdateDeviceResponse, any, {}>>;
    /**
     *
     * @param {string} deviceId object id
     * @param {DeviceProfile1} device
     * @param {Array<string>} [fields] PATCH: partial update
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DevicesApi
     */
    updateDevice2(deviceId: string, device: DeviceProfile1, fields?: Array<string>, options?: any): Promise<import("axios").AxiosResponse<ApiUpdateDeviceResponse, any, {}>>;
}
//# sourceMappingURL=devices-api.d.ts.map