import { CodeDisplay, MULTI_RESOURCE } from "../config";
import { ResourceMaster } from "../Interfaces";
import ResourceMain from "./ResourceMai";
interface Subject extends MULTI_RESOURCE {
    resource: "Group" | "Device" | "Location" | "Patient" | "Specimen" | "Practitioner" | "PractitionerRole";
}
declare const mediaStatusArray: readonly ["preparation", "in-progress", "not-done", "on-hold ", "stopped", "completed", "entered-in-error", "unknown"];
type MediaStatus = typeof mediaStatusArray[number];
declare const mediaMimeType: readonly ["image/jpeg", "image/png", "image/bmp", "audio/mpeg", "video/mp4", "video/mpeg"];
type MediaMimeType = typeof mediaMimeType[number];
export interface MEDIA {
    id?: string;
    status: MediaStatus;
    subject: Subject;
    createdDate: string;
    bodySite: CodeDisplay[];
    /**
     * device used to get  image like Ct scan camery etc
     */
    modality: CodeDisplay[];
    mimeType: MediaMimeType;
    title: string;
    base64Data: string;
}
export declare class Media extends ResourceMain implements ResourceMaster {
    toHtml(): Promise<string>;
    getFHIR(options: MEDIA): {
        resourceType: string;
        id: string | undefined;
        meta: {
            profile: string[];
        };
        text: {
            status: string;
            div: string;
        };
        status: "in-progress" | "entered-in-error" | "unknown" | "completed" | "stopped" | "preparation" | "not-done" | "on-hold ";
        modality: {
            coding: CodeDisplay[];
        };
        subject: {
            reference: string;
        };
        createdDateTime: string;
        bodySite: {
            coding: CodeDisplay[];
        };
        content: {
            contentType: "image/jpeg" | "image/png" | "image/bmp" | "audio/mpeg" | "video/mp4" | "video/mpeg";
            language: string;
            data: string;
            title: string;
            creation: string;
        };
    };
    convertFhirToObject(options: any): MEDIA;
    statusArray(): MediaStatus[];
    mimeTypeArray(): MediaMimeType[];
    bundlify(resource: any): any;
}
export {};
//# sourceMappingURL=Media.d.ts.map