import * as models from '../icc-api/model/models'; import { IccBekmehrApi } from '../icc-api'; import { IccContactXApi } from './icc-contact-x-api'; import { IccDocumentXApi } from './icc-document-x-api'; import { IccHelementXApi } from './icc-helement-x-api'; import { Contact, Document, HealthElement, Service } from '../icc-api/model/models'; import { AuthenticationProvider } from './auth/AuthenticationProvider'; export type Patcher = ContactPatcher | HealthElementPatcher | DocumentPatcher | ServicePatcher; export interface ContactPatcher { type: 'ContactDto'; patch: (contacts: Contact[]) => Promise; } export interface HealthElementPatcher { type: 'HealthElementDto'; patch: (patients: HealthElement[]) => Promise; } export interface DocumentPatcher { type: 'DocumentDto'; patch: (documents: Document[]) => Promise; } export interface ServicePatcher { type: 'ServiceDto'; patch: (documents: Service[]) => Promise; } export declare class IccBekmehrXApi extends IccBekmehrApi { private readonly ctcApi; private readonly helementApi; private readonly documentApi; private readonly wssHost; constructor(host: string, headers: { [key: string]: string; }, ctcApi: IccContactXApi, helementApi: IccHelementXApi, documentApi: IccDocumentXApi, authenticationProvider?: AuthenticationProvider, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise); private getJwt; socketEventListener(socket: WebSocket, healthcarePartyId: string, resolve: (value: Blob) => void, reject: (reason?: any) => void, patchers: Patcher[], progressCallback?: (progress: number) => void): (event: MessageEvent) => void; generateSmfExportWithEncryptionSupport(patientId: string, healthcarePartyId: string, language: string, body: models.SoftwareMedicalFileExport, progressCallback?: (progress: number) => void, patchers?: Patcher[]): Promise; generateSumehrExportWithEncryptionSupport(patientId: string, healthcarePartyId: string, language: string, body: models.SumehrExportInfo, patchers?: Patcher[]): Promise; generateSumehrV2ExportWithEncryptionSupport(patientId: string, healthcarePartyId: string, language: string, body: models.SumehrExportInfo, patchers?: Patcher[]): Promise; generateDiaryNoteExportWithEncryptionSupport(patientId: string, healthcarePartyId: string, language: string, body: models.SumehrExportInfo, patchers?: Patcher[]): Promise; generateMedicationSchemeWithEncryptionSupport(patientId: string, healthcarePartyId: string, language: string, recipientSafe: string, version: number, body: models.MedicationSchemeExportInfo, patchers?: Patcher[]): Promise; }