/**
 * 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 { Calendar } from '../models';
/**
 * CalendarsApi - axios parameter creator
 * @export
 */
export declare const CalendarsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Without params, it returns a list of Calendars the user has access to
     * @summary Fetch a list of Calendars
     * @param {boolean} [all] Can only be used by admins or managers to fetch all entities
     * @param {number} [userId] Standard users can use this only with their own _userId_
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    calendarsGet: (all?: boolean, userId?: number, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @summary Delete a Calendar
     * @param {number} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    calendarsIdDelete: (id: number, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @summary Update a Calendar
     * @param {Calendar} body
     * @param {number} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    calendarsIdPut: (body: Calendar, id: number, options?: any) => Promise<RequestArgs>;
    /**
     *
     * @summary Create a Calendar
     * @param {Calendar} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    calendarsPost: (body: Calendar, options?: any) => Promise<RequestArgs>;
};
/**
 * CalendarsApi - functional programming interface
 * @export
 */
export declare const CalendarsApiFp: (configuration?: Configuration) => {
    /**
     * Without params, it returns a list of Calendars the user has access to
     * @summary Fetch a list of Calendars
     * @param {boolean} [all] Can only be used by admins or managers to fetch all entities
     * @param {number} [userId] Standard users can use this only with their own _userId_
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    calendarsGet(all?: boolean, userId?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Calendar>>>;
    /**
     *
     * @summary Delete a Calendar
     * @param {number} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    calendarsIdDelete(id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     *
     * @summary Update a Calendar
     * @param {Calendar} body
     * @param {number} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    calendarsIdPut(body: Calendar, id: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Calendar>>;
    /**
     *
     * @summary Create a Calendar
     * @param {Calendar} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    calendarsPost(body: Calendar, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Calendar>>;
};
/**
 * CalendarsApi - factory interface
 * @export
 */
export declare const CalendarsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Without params, it returns a list of Calendars the user has access to
     * @summary Fetch a list of Calendars
     * @param {boolean} [all] Can only be used by admins or managers to fetch all entities
     * @param {number} [userId] Standard users can use this only with their own _userId_
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    calendarsGet(all?: boolean, userId?: number, options?: any): AxiosPromise<Array<Calendar>>;
    /**
     *
     * @summary Delete a Calendar
     * @param {number} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    calendarsIdDelete(id: number, options?: any): AxiosPromise<void>;
    /**
     *
     * @summary Update a Calendar
     * @param {Calendar} body
     * @param {number} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    calendarsIdPut(body: Calendar, id: number, options?: any): AxiosPromise<Calendar>;
    /**
     *
     * @summary Create a Calendar
     * @param {Calendar} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    calendarsPost(body: Calendar, options?: any): AxiosPromise<Calendar>;
};
/**
 * CalendarsApi - object-oriented interface
 * @export
 * @class CalendarsApi
 * @extends {BaseAPI}
 */
export declare class CalendarsApi extends BaseAPI {
    /**
     * Without params, it returns a list of Calendars the user has access to
     * @summary Fetch a list of Calendars
     * @param {boolean} [all] Can only be used by admins or managers to fetch all entities
     * @param {number} [userId] Standard users can use this only with their own _userId_
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CalendarsApi
     */
    calendarsGet(all?: boolean, userId?: number, options?: any): Promise<import("axios").AxiosResponse<Calendar[]>>;
    /**
     *
     * @summary Delete a Calendar
     * @param {number} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CalendarsApi
     */
    calendarsIdDelete(id: number, options?: any): Promise<import("axios").AxiosResponse<void>>;
    /**
     *
     * @summary Update a Calendar
     * @param {Calendar} body
     * @param {number} id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CalendarsApi
     */
    calendarsIdPut(body: Calendar, id: number, options?: any): Promise<import("axios").AxiosResponse<Calendar>>;
    /**
     *
     * @summary Create a Calendar
     * @param {Calendar} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof CalendarsApi
     */
    calendarsPost(body: Calendar, options?: any): Promise<import("axios").AxiosResponse<Calendar>>;
}
