/**
 * 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 { ClassificationTemplate } from '../model/ClassificationTemplate';
import { Delegation } from '../model/Delegation';
import { DocIdentifier } from '../model/DocIdentifier';
import { PaginatedListClassificationTemplate } from '../model/PaginatedListClassificationTemplate';
import { AuthenticationProvider } from '../../icc-x-api/auth/AuthenticationProvider';
import { ListOfIds } from '../model/ListOfIds';
export declare class IccClassificationTemplateApi {
    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;
    /**
     * Returns an instance of created classification Template.
     * @summary Create a classification Template with the current user
     * @param body
     */
    createClassificationTemplate(body?: ClassificationTemplate): Promise<ClassificationTemplate>;
    /**
     * @summary Deletes a batch of classification templates.
     *
     * @param classificationTemplateIds a ListOfIds containing the ids of the classification templates to delete.
     * @return a Promise that will resolve in an array of DocIdentifiers of the successfully deleted classification templates
     */
    deleteClassificationTemplates(classificationTemplateIds: ListOfIds): Promise<Array<DocIdentifier>>;
    /**
     * @summary Deletes a single classification template by id.
     *
     * @param classificationTemplateId the id of the classification template to delete.
     * @return a Promise that will resolve in the DocIdentifier of the deleted classification template.
     */
    deleteClassificationTemplate(classificationTemplateId: string): Promise<DocIdentifier>;
    /**
     * Keys have to be delimited by commas.
     * @summary List classification Templates found By Healthcare Party and secret foreign keys.
     * @param hcPartyId
     * @param secretFKeys
     */
    findClassificationTemplatesByHCPartyPatientForeignKeys(hcPartyId: string, secretFKeys: string): Promise<Array<ClassificationTemplate>>;
    /**
     * @summary List classification Templates found By Healthcare Party and a single secret foreign key with pagination.
     * @param hcPartyId the healthcare party id.
     * @param secretFKey the secret foreign key.
     * @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 PaginatedListClassificationTemplate.
     */
    findClassificationTemplatesByHCPartyPatientForeignKey(hcPartyId: string, secretFKey: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListClassificationTemplate>;
    /**
     *
     * @summary Get a classification Template
     * @param classificationTemplateId
     */
    getClassificationTemplate(classificationTemplateId: string): Promise<ClassificationTemplate>;
    /**
     * Ids are seperated by a coma
     * @summary Get a list of classifications Templates
     * @param ids
     */
    getClassificationTemplateByIds(ids: string): Promise<Array<ClassificationTemplate>>;
    /**
     * Returns a list of classification templates.
     * @summary List all classification templates with pagination
     * @param startKey A label
     * @param startDocumentId An classification template document ID
     * @param limit Number of rows
     */
    listClassificationTemplates(startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListClassificationTemplate>;
    /**
     * Returns the modified classification Template.
     * @summary Modify a classification Template
     * @param body
     */
    modifyClassificationTemplate(body?: ClassificationTemplate): Promise<ClassificationTemplate>;
    /**
     * It delegates a classification Template to a healthcare party (By current healthcare party). Returns the element with new delegations.
     * @summary Delegates a classification Template to a healthcare party
     * @param body
     * @param classificationTemplateId
     */
    newClassificationTemplateDelegations(classificationTemplateId: string, body?: Array<Delegation>): Promise<ClassificationTemplate>;
}
