/// <reference types="fhir" />
import Attachment from '../lib/models/fhir/Attachment';
declare type IAttachment = {
    isImage?: boolean;
    hasPreview?: boolean;
    hasThumb?: boolean;
    id?: string;
};
declare type ClientAttachment = fhir.Attachment & {
    file?: Blob;
    originalSize?: number;
    originalHash?: string;
};
export declare const getCleanAttachmentsFromResource: (resource: fhir.DomainResource) => ClientAttachment[];
export declare const setAttachmentsToResource: (resourceWithoutAttachments: fhir.DomainResource, attachments: Attachment[]) => fhir.DomainResource;
export declare const addPreviewsToAttachments: (vanillaAttachments: any) => Promise<any[]>;
export declare const cleanResource: (fhirResource: fhir.DomainResource) => fhir.DomainResource;
export declare const attachBlobs: ({ encryptedFiles, ownerId, oldAttachments, newAttachments, resource, }: {
    encryptedFiles: Uint8Array[];
    ownerId: string;
    oldAttachments: File[];
    newAttachments: IAttachment[];
    resource: fhir.DomainResource;
}) => Promise<fhir.DomainResource[]>;
declare const attachmentService: {
    handleAttachments(ownerId: string, resource: fhir.DomainResource): Promise<(fhir.DomainResource | {
        commonKeyId: string;
        encryptedKey: any;
    } | any[])[]>;
    updateAttachments(ownerId: string, resource: fhir.DomainResource, annotations: string[]): Promise<(fhir.DomainResource | {
        commonKeyId: string;
        encryptedKey: any;
    } | any[])[]>;
};
export default attachmentService;
