import { HealthcareParty, IccCryptoXApi, IccDocumentXApi, IccEntityrefApi, IccInsuranceApi, IccInvoiceXApi, IccMessageXApi, IccPatientApi, IccPatientXApi, Insurance, Invoice, Message, Receipt, User } from "@icure/api"; import { InvoiceWithPatient } from "./utils/efact-util"; import { DmgsList, EfactMessage, EfactSendResponse, ErrorDetail, GenAsyncResponse } from "../model/models"; import { fhcEfactApi } from "../api/fhcEfactApi"; import { ReceiptXApi } from "./receipt-x-api"; declare class EfactSendResponseWithError extends EfactSendResponse { error: string | undefined; constructor(json: JSON); } export declare class MessageXApi { private api; private crypto; private insuranceApi; private entityReferenceApi; private receiptXApi; private invoiceXApi; private documentXApi; private patientXApi; private patientApi; constructor(api: IccMessageXApi, crypto: IccCryptoXApi, documentXApi: IccDocumentXApi, insuranceApi: IccInsuranceApi, entityReferenceApi: IccEntityrefApi, fhcReceiptXApi: ReceiptXApi, invoiceXApi: IccInvoiceXApi, patientXApi: IccPatientXApi, patientApi: IccPatientApi); saveDmgsListRequest(user: User, req: GenAsyncResponse, requestDate?: number): Promise; processDmgMessagesList(user: User, hcp: HealthcareParty, list: DmgsList, parentId: string, docXApi: IccDocumentXApi): Promise>>; private makeHcp; private saveMessageInDb; saveDmgListRequestInDb(user: User, tack: string, resultMajor: string, appliesTo: string, hcp: HealthcareParty, date?: Date, inss?: string): Promise; extractErrorMessage(error?: ErrorDetail): string | undefined; extractErrors(parsedRecords: any, oa: string): string[]; isBlockingError(errorDetail: ErrorDetail, oa: string): boolean; processTack(user: User, hcp: HealthcareParty, efactMessage: EfactMessage): Promise; processEfactMessage(user: User, hcp: HealthcareParty, efactMessage: EfactMessage, invoicePrefix?: string, invoicePrefixer?: (invoice: Invoice, hcpId: string) => Promise): Promise<{ message: Message; invoices: Array; }>; sendBatch(user: User, hcp: HealthcareParty, invoices: Array, xFHCKeystoreId: string, xFHCTokenId: string, xFHCPassPhrase: string, efactApi: fhcEfactApi, fhcServer?: string | undefined, prefixer?: (fed: Insurance, hcpId: string) => Promise, isConnectedAsPmg?: boolean, medicalLocationId?: string | null, speciality?: string, professionCode?: string): Promise; saveMessageAttachment(user: User, msg: Message, res: EfactSendResponseWithError): Promise; } export {};