/**
 * iCure Data Stack API Documentation
 * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.
 *
 * OpenAPI spec version: v1
 *
 *
 * 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 { XHR } from './XHR';
import { CalendarItemType } from '../model/CalendarItemType';
import { DocIdentifier } from '../model/DocIdentifier';
import { AuthenticationProvider } from '../../icc-x-api/auth/AuthenticationProvider';
import { ListOfIds } from '../model/ListOfIds';
import { PaginatedListCalendarItemType } from '../model/PaginatedListCalendarItemType';
export declare class IccCalendarItemTypeApi {
    host: string;
    headers: Array<XHR.Header>;
    authenticationProvider: AuthenticationProvider;
    fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>;
    constructor(host: string, headers: any, authenticationProvider?: AuthenticationProvider, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
    setHeaders(h: Array<XHR.Header>): void;
    handleError(e: XHR.XHRError): never;
    /**
     *
     * @summary Creates a calendarItemType
     * @param body
     */
    createCalendarItemType(body?: CalendarItemType): Promise<CalendarItemType>;
    /**
     * @summary Deletes a batch of calendarItemTypes.
     *
     * @param calendarItemTypeIds a ListOfIds containing the ids of the calendarItemTypes to delete.
     * @return a Promise that will resolve in an array of DocIdentifiers of the successfully deleted calendarItemTypes.
     */
    deleteCalendarItemTypes(calendarItemTypeIds: ListOfIds): Promise<Array<DocIdentifier>>;
    /**
     *
     * @summary Gets an calendarItemType
     * @param calendarItemTypeId
     */
    getCalendarItemType(calendarItemTypeId: string): Promise<CalendarItemType>;
    /**
     * @deprecated use {@link getCalendarItemTypesWithPagination} instead.
     * @summary Gets all calendarItemTypes
     */
    getCalendarItemTypes(): Promise<Array<CalendarItemType>>;
    /**
     * @summary Gets all calendarItemTypes with pagination.
     * @param startDocumentId the startDocumentId provided by the previous page or undefined for the first page.
     * @param limit the number of elements that the page should contain.
     * @return a promise that will resolve in a PaginatedListCalendarItemType.
     */
    getCalendarItemTypesWithPagination(startDocumentId?: string, limit?: number): Promise<PaginatedListCalendarItemType>;
    /**
     * @deprecated use {@link getCalendarItemTypesIncludeDeletedWithPagination} instead.
     * @summary Gets all calendarItemTypes include deleted
     */
    getCalendarItemTypesIncludeDeleted(): Promise<Array<CalendarItemType>>;
    /**
     * @summary Gets all calendarItemTypes including deleted entities with pagination.
     * @param startKey the startKey provided by the previous page or undefined for the first page.
     * @param startDocumentId the startDocumentId provided by the previous page or undefined for the first page.
     * @param limit the number of elements that the page should contain.
     * @return a promise that will resolve in a PaginatedListCalendarItemType.
     */
    getCalendarItemTypesIncludeDeletedWithPagination(startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListCalendarItemType>;
    /**
     *
     * @summary Modifies an calendarItemType
     * @param body
     */
    modifyCalendarItemType(body?: CalendarItemType): Promise<CalendarItemType>;
}
