import { CODEABLE_CONCEPT, IDENTTIFIER, MULTI_RESOURCE, PERIOD } from "../config";
import { ResourceMaster } from "../Interfaces";
import { ORGANIZATION } from "../resources/Organization";
import { PATIENT } from "../resources/Patient";
import ResourceMain from "../resources/ResourceMai";
declare const CoverageEligibilityResponcePurpose: readonly ["auth-requirements", "benefits", "discovery", "validation"];
declare type CoverageEligibilityResponcePurpose = (typeof CoverageEligibilityResponcePurpose)[number];
interface PRVIDER_ITEM extends MULTI_RESOURCE {
    resource: "Practitioner" | "PractitionerRole";
}
interface BENFIT {
    type?: CODEABLE_CONCEPT;
    allowedMoney?: {
        value: number;
        currency: string;
    };
    allowedUnsignedInt?: number;
    allowedString?: string;
    usedMoney?: {
        usedUnsignedInt?: number;
        value: number;
        currency: string;
    };
    usedUnsignedInt?: number;
    usedString?: string;
}
export interface COVERAGE_ELIGIBILITY_RESPONSE {
    id?: string;
    hcx?: "nhcx" | "swasth";
    identifiers?: IDENTTIFIER[];
    text?: string;
    status: "active" | "cancelled" | "draft" | "entered-in-error";
    purpose: CoverageEligibilityResponcePurpose[];
    patientId: string;
    createdDate: string;
    practitionerId?: string;
    coverageEligibilityRequestId: string;
    outcome: "queued" | "complete" | "error" | "partial";
    disposition?: string;
    insurerId: string;
    insurance: {
        coverage: {
            reference: `Coverage/${string}`;
        };
        inforce?: boolean;
        benefitPeriod: PERIOD;
        item: {
            category?: CODEABLE_CONCEPT;
            productOrService?: CODEABLE_CONCEPT;
            modifier?: CODEABLE_CONCEPT[];
            provider?: PRVIDER_ITEM;
            excluded?: boolean;
            name?: string;
            description?: string;
            network: CODEABLE_CONCEPT;
            unit?: CODEABLE_CONCEPT;
            term?: CODEABLE_CONCEPT;
            benefit?: BENFIT[];
        }[];
    }[];
    error?: CODEABLE_CONCEPT[];
}
export declare class CoverageEligibiltyResponse extends ResourceMain implements ResourceMaster {
    toHtml(option: {
        addResourceType: boolean;
        body: COVERAGE_ELIGIBILITY_RESPONSE;
        patinet?: PATIENT;
        insurance?: ORGANIZATION;
    }): string;
    getFHIR(options: COVERAGE_ELIGIBILITY_RESPONSE): {
        resourceType: string;
        id: string | undefined;
        meta: {
            profile: string[];
        };
        language: string;
        text: {
            status: string;
            div: string | undefined;
        };
        status: "active" | "entered-in-error" | "cancelled" | "draft";
        purpose: ("auth-requirements" | "benefits" | "discovery" | "validation")[];
        patient: {
            reference: string;
        };
        created: string;
        requestor: "" | {
            reference: string;
        } | undefined;
        request: {
            reference: string;
        };
        outcome: "partial" | "queued" | "complete" | "error";
        disposition: string | undefined;
        insurer: {
            reference: string;
        };
        insurance: {
            coverage: {
                reference: `Coverage/${string}`;
            };
            inforce?: boolean | undefined;
            benefitPeriod: PERIOD;
            item: {
                category?: CODEABLE_CONCEPT | undefined;
                productOrService?: CODEABLE_CONCEPT | undefined;
                modifier?: CODEABLE_CONCEPT[] | undefined;
                provider?: PRVIDER_ITEM | undefined;
                excluded?: boolean | undefined;
                name?: string | undefined;
                description?: string | undefined;
                network: CODEABLE_CONCEPT;
                unit?: CODEABLE_CONCEPT | undefined;
                term?: CODEABLE_CONCEPT | undefined;
                benefit?: BENFIT[] | undefined;
            }[];
        }[];
        error: CODEABLE_CONCEPT[] | undefined;
        identifier: IDENTTIFIER[] | undefined;
    };
    convertFhirToObject(options: any): COVERAGE_ELIGIBILITY_RESPONSE;
    statusArray?: Function | undefined;
}
export {};
//# sourceMappingURL=CpverageEligibiltyResponse.d.ts.map