/**
 * 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 { CheckSMFPatientResult } from '../model/CheckSMFPatientResult';
import { Content } from '../model/Content';
import { DiaryNoteExportInfo } from '../model/DiaryNoteExportInfo';
import { ImportMapping } from '../model/ImportMapping';
import { ImportResult } from '../model/ImportResult';
import { IncapacityExportInfo } from '../model/IncapacityExportInfo';
import { MedicationSchemeExportInfo } from '../model/MedicationSchemeExportInfo';
import { SoftwareMedicalFileExport } from '../model/SoftwareMedicalFileExport';
import { SumehrContent } from '../model/SumehrContent';
import { SumehrExportInfo } from '../model/SumehrExportInfo';
import { SumehrValidity } from '../model/SumehrValidity';
import { AuthenticationProvider } from '../../icc-x-api/auth/AuthenticationProvider';
export declare class IccBekmehrApi {
    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 Check whether patients in SMF already exists in DB
     * @param body
     * @param documentId
     * @param documentKey
     * @param patientId
     * @param language
     */
    checkIfSMFPatientsExists(documentId: string, documentKey?: string, patientId?: string, language?: string, body?: {
        [key: string]: Array<ImportMapping>;
    }): Promise<Array<CheckSMFPatientResult>>;
    /**
     *
     * @summary Get Kmehr contactreport
     * @param body
     * @param patientId
     * @param id
     * @param date
     * @param language
     * @param recipientNihii
     * @param recipientSsin
     * @param recipientFirstName
     * @param recipientLastName
     * @param mimeType
     */
    generateContactreportExport(patientId: string, id: string, date: number, language: string, recipientNihii: string, recipientSsin: string, recipientFirstName: string, recipientLastName: string, mimeType: string, body?: ArrayBuffer): Promise<ArrayBuffer>;
    /**
     *
     * @summary Generate diarynote
     * @param body
     * @param patientId
     * @param language
     */
    generateDiaryNote(patientId: string, language: string, body?: DiaryNoteExportInfo): Promise<ArrayBuffer>;
    /**
     *
     * @summary Get Incapacity export
     * @param patientId
     * @param language
     * @param body
     * @param xTimezoneOffset
     */
    generateIncapacityExport(patientId: string, language: string, body?: IncapacityExportInfo, xTimezoneOffset?: string): Promise<ArrayBuffer>;
    /**
     *
     * @summary Get Kmehr labresult
     * @param body
     * @param patientId
     * @param id
     * @param date
     * @param language
     * @param recipientNihii
     * @param recipientSsin
     * @param recipientFirstName
     * @param recipientLastName
     * @param mimeType
     */
    generateLabresultExport(patientId: string, id: string, date: number, language: string, recipientNihii: string, recipientSsin: string, recipientFirstName: string, recipientLastName: string, mimeType: string, body?: ArrayBuffer): Promise<ArrayBuffer>;
    /**
     *
     * @summary Get Medicationscheme export
     * @param body
     * @param xTimezoneOffset
     * @param patientId
     * @param language
     * @param recipientSafe
     * @param xTimezoneOffset
     * @param version
     */
    generateMedicationSchemeExport(patientId: string, language: string, recipientSafe: string, xTimezoneOffset?: string, version?: number, body?: MedicationSchemeExportInfo): Promise<ArrayBuffer>;
    /**
     *
     * @summary Get Kmehr note
     * @param body
     * @param patientId
     * @param id
     * @param date
     * @param language
     * @param recipientNihii
     * @param recipientSsin
     * @param recipientFirstName
     * @param recipientLastName
     * @param mimeType
     */
    generateNoteExport(patientId: string, id: string, date: number, language: string, recipientNihii: string, recipientSsin: string, recipientFirstName: string, recipientLastName: string, mimeType: string, body?: ArrayBuffer): Promise<ArrayBuffer>;
    /**
     *
     * @summary Get KMEHR Patient Info export
     * @param patientId
     * @param language
     */
    generatePatientInfoExport(patientId: string, language?: string): Promise<ArrayBuffer>;
    /**
     *
     * @summary Get Kmehr prescription
     * @param body
     * @param patientId
     * @param id
     * @param date
     * @param language
     * @param recipientNihii
     * @param recipientSsin
     * @param recipientFirstName
     * @param recipientLastName
     * @param mimeType
     */
    generatePrescriptionExport(patientId: string, id: string, date: number, language: string, recipientNihii: string, recipientSsin: string, recipientFirstName: string, recipientLastName: string, mimeType: string, body?: ArrayBuffer): Promise<ArrayBuffer>;
    /**
     *
     * @summary Get Kmehr report
     * @param body
     * @param patientId
     * @param id
     * @param date
     * @param language
     * @param recipientNihii
     * @param recipientSsin
     * @param recipientFirstName
     * @param recipientLastName
     * @param mimeType
     */
    generateReportExport(patientId: string, id: string, date: number, language: string, recipientNihii: string, recipientSsin: string, recipientFirstName: string, recipientLastName: string, mimeType: string, body?: ArrayBuffer): Promise<ArrayBuffer>;
    /**
     *
     * @summary Get Kmehr request
     * @param body
     * @param patientId
     * @param id
     * @param date
     * @param language
     * @param recipientNihii
     * @param recipientSsin
     * @param recipientFirstName
     * @param recipientLastName
     * @param mimeType
     */
    generateRequestExport(patientId: string, id: string, date: number, language: string, recipientNihii: string, recipientSsin: string, recipientFirstName: string, recipientLastName: string, mimeType: string, body?: ArrayBuffer): Promise<ArrayBuffer>;
    /**
     *
     * @summary Get Kmehr result
     * @param body
     * @param patientId
     * @param id
     * @param date
     * @param language
     * @param recipientNihii
     * @param recipientSsin
     * @param recipientFirstName
     * @param recipientLastName
     * @param mimeType
     */
    generateResultExport(patientId: string, id: string, date: number, language: string, recipientNihii: string, recipientSsin: string, recipientFirstName: string, recipientLastName: string, mimeType: string, body?: ArrayBuffer): Promise<ArrayBuffer>;
    /**
     *
     * @summary Get SMF (Software Medical File) export
     * @param body
     * @param patientId
     * @param language
     */
    generateSmfExport(patientId: string, language: string, body?: SoftwareMedicalFileExport): Promise<ArrayBuffer>;
    /**
     *
     * @summary Generate sumehr
     * @param body
     * @param patientId
     * @param language
     */
    generateSumehr(patientId: string, language: string, body?: SumehrExportInfo): Promise<ArrayBuffer>;
    /**
     *
     * @summary Generate sumehr
     * @param body
     * @param patientId
     * @param language
     */
    generateSumehrV2(patientId: string, language: string, body?: SumehrExportInfo): Promise<ArrayBuffer>;
    /**
     *
     * @summary Get sumehr elements
     * @param body
     * @param patientId
     */
    getSumehrContent(patientId: string, body?: SumehrExportInfo): Promise<SumehrContent>;
    /**
     *
     * @summary Check sumehr signature
     * @param body
     * @param patientId
     */
    getSumehrMd5(patientId: string, body?: SumehrExportInfo): Promise<Content>;
    /**
     *
     * @summary Get sumehr elements
     * @param body
     * @param patientId
     */
    getSumehrV2Content(patientId: string, body?: SumehrExportInfo): Promise<SumehrContent>;
    /**
     *
     * @summary Check sumehr signature
     * @param body
     * @param patientId
     */
    getSumehrV2Md5(patientId: string, body?: SumehrExportInfo): Promise<Content>;
    /**
     *
     * @summary Import MedicationScheme into patient(s) using existing document
     * @param body
     * @param documentId
     * @param documentKey
     * @param dryRun Dry run: do not save in database
     * @param patientId
     * @param language
     */
    importMedicationScheme(documentId: string, documentKey?: string, dryRun?: boolean, patientId?: string, language?: string, body?: {
        [key: string]: Array<ImportMapping>;
    }): Promise<Array<ImportResult>>;
    /**
     *
     * @summary Import SMF into patient(s) using existing document
     * @param body
     * @param documentId
     * @param documentKey
     * @param patientId
     * @param language
     * @param dryRun
     */
    importSmf(documentId: string, documentKey?: string, patientId?: string, language?: string, dryRun?: boolean, body?: {
        [key: string]: Array<ImportMapping>;
    }): Promise<Array<ImportResult>>;
    /**
     *
     * @summary Import sumehr into patient(s) using existing document
     * @param body
     * @param documentId
     * @param documentKey
     * @param dryRun Dry run: do not save in database
     * @param patientId
     * @param language
     */
    importSumehr(documentId: string, documentKey?: string, dryRun?: boolean, patientId?: string, language?: string, body?: {
        [key: string]: Array<ImportMapping>;
    }): Promise<Array<ImportResult>>;
    /**
     *
     * @summary Import sumehr into patient(s) using existing document
     * @param body
     * @param documentId
     * @param itemId
     * @param documentKey
     * @param dryRun Dry run: do not save in database
     * @param patientId
     * @param language
     */
    importSumehrByItemId(documentId: string, itemId: string, documentKey?: string, dryRun?: boolean, patientId?: string, language?: string, body?: {
        [key: string]: Array<ImportMapping>;
    }): Promise<Array<ImportResult>>;
    /**
     *
     * @summary Get sumehr validity
     * @param body
     * @param patientId
     */
    isSumehrV2Valid(patientId: string, body?: SumehrExportInfo): Promise<SumehrValidity>;
    /**
     *
     * @summary Get sumehr validity
     * @param body
     * @param patientId
     */
    isSumehrValid(patientId: string, body?: SumehrExportInfo): Promise<SumehrValidity>;
    /**
     *
     * @summary Validate sumehr
     * @param body
     * @param patientId
     * @param language
     */
    validateSumehr(patientId: string, language: string, body?: SumehrExportInfo): Promise<ArrayBuffer>;
    /**
     *
     * @summary Validate sumehr
     * @param body
     * @param patientId
     * @param language
     */
    validateSumehrV2(patientId: string, language: string, body?: SumehrExportInfo): Promise<ArrayBuffer>;
}
