/**
 * Traccar
 * Traccar GPS tracking server API documentation. To use the API you need to have a server instance. For testing purposes you can use one of free [demo servers](https://www.traccar.org/demo-server/). For production use you can install your own server or get a [subscription service](https://www.traccar.org/product/tracking-server/).
 *
 * OpenAPI spec version: 4.11
 * Contact: support@traccar.org
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */
import { AxiosPromise, AxiosInstance } from 'axios';
import { Configuration } from '../configuration';
import { RequestArgs, BaseAPI } from '../base';
import { Permission } from '../models';
/**
 * PermissionsApi - axios parameter creator
 * @export
 */
export declare const PermissionsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary Unlink an Object from another Object
     * @param {Permission} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    permissionsDelete: (body: Permission, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @summary Link an Object to another Object
     * @param {Permission} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    permissionsPost: (body: Permission, options?: any) => Promise<RequestArgs>;
};
/**
 * PermissionsApi - functional programming interface
 * @export
 */
export declare const PermissionsApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary Unlink an Object from another Object
     * @param {Permission} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    permissionsDelete(body: Permission, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     *
     * @summary Link an Object to another Object
     * @param {Permission} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    permissionsPost(body: Permission, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Permission>>;
};
/**
 * PermissionsApi - factory interface
 * @export
 */
export declare const PermissionsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary Unlink an Object from another Object
     * @param {Permission} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    permissionsDelete(body: Permission, options?: any): AxiosPromise<void>;
    /**
     *
     * @summary Link an Object to another Object
     * @param {Permission} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    permissionsPost(body: Permission, options?: any): AxiosPromise<Permission>;
};
/**
 * PermissionsApi - object-oriented interface
 * @export
 * @class PermissionsApi
 * @extends {BaseAPI}
 */
export declare class PermissionsApi extends BaseAPI {
    /**
     *
     * @summary Unlink an Object from another Object
     * @param {Permission} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PermissionsApi
     */
    permissionsDelete(body: Permission, options?: any): Promise<import("axios").AxiosResponse<void>>;
    /**
     *
     * @summary Link an Object to another Object
     * @param {Permission} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PermissionsApi
     */
    permissionsPost(body: Permission, options?: any): Promise<import("axios").AxiosResponse<Permission>>;
}
