import { Bundle, CodeSystem, CodeableConcept, Coding, ConceptMap, Parameters, ParametersParameter, ValueSet } from "fhir/r4.js";
import { IHttpHandler } from "./httpHandler.js";
declare const standardizeTargetSystems: readonly ["ICD-10-CM", "ICD-9-CM-Diagnosis", "SNOMED", "RxNorm", "LOINC", "CPT", "HCPCS", "NDC", "CVX", "http://hl7.org/fhir/sid/icd-10", "http://hl7.org/fhir/sid/icd-9", "http://snomed.info/sct", "http://www.nlm.nih.gov/research/umls/rxnorm", "http://loinc.org", "http://www.ama-assn.org/go/cpt", "http://hl7.org/fhir/sid/ndc", "http://hl7.org/fhir/sid/cvx"];
declare const standardizeResponseSystems: readonly ["http://hl7.org/fhir/sid/icd-10", "http://hl7.org/fhir/sid/icd-9", "http://snomed.info/sct", "http://hl7.org/fhir/sid/ndc", "http://hl7.org/fhir/sid/cvx", "http://www.nlm.nih.gov/research/umls/rxnorm", "http://loinc.org"];
export type StandardizeTargetSystem = (typeof standardizeTargetSystems)[number];
export type StandardizeRequest = Coding & {
    targetSystem?: StandardizeTargetSystem;
};
export type StandardizeResponseCoding = Coding & {
    system: (typeof standardizeResponseSystems)[number];
};
export type StandardizeResponse = {
    readonly coding: ReadonlyArray<StandardizeResponseCoding>;
};
export type StandardizeConditionResponse = StandardizeResponse;
export type StandardizeMedicationResponse = StandardizeResponse;
export type StandardizeObservationResponse = StandardizeResponse;
export type StandardizeProcedureResponse = StandardizeResponse;
export type StandardizeLabResponse = StandardizeResponse;
export type StandardizeRadiologyResponse = StandardizeResponse;
export type ClassifyRequest = Coding;
declare const classifyConditionSystems: readonly ["http://snomed.info/sct", "http://hl7.org/fhir/sid/icd-10-cm", "http://hl7.org/fhir/sid/icd-9-cm-diagnosis", "ICD-10-CM", "ICD-9-CM-Diagnosis", "SNOMED"];
export type ClassifyConditionSystem = (typeof classifyConditionSystems)[number];
export type ClassifyConditionRequest = ClassifyRequest & {
    system: ClassifyConditionSystem;
};
declare const covid19Condition: readonly ["Confirmed", "Suspected", "Exposure", "Encounter", "SignsAndSymptoms", "NonspecificRespiratoryViralInfection"];
export type ClassifyConditionResponse = {
    ccsrCatgory: CodeableConcept;
    ccsrDefaultInpatient: Coding;
    ccsrDefaultOutpatient: Coding;
    cciChronic: boolean;
    cciAcute: boolean;
    hccCategory: CodeableConcept;
    behavioral: boolean;
    substance: boolean;
    socialDeterminant: boolean;
    covid19Condition: typeof covid19Condition;
};
declare const classifyMedicationSystems: readonly ["RxNorm", "NDC", "CVX", "SNOMED", "http://www.nlm.nih.gov/research/umls/rxnorm", "http://hl7.org/fhir/sid/ndc", "http://hl7.org/fhir/sid/cvx", "http://snomed.info/sct"];
export type ClassifyMedicationSystem = (typeof classifyMedicationSystems)[number];
export type ClassifyMedicationRequest = ClassifyRequest & {
    system: ClassifyMedicationSystem;
};
declare const covid19Rx: readonly ["vaccination", "immunoglobulin", "medication"];
export type ClassifyMedicationResponse = {
    medRtTherapeuticClass: string[];
    rxNormIngredient: string[];
    rxNormStrength: string;
    rxNormGeneric: boolean;
    covid19Rx: typeof covid19Rx;
};
declare const classifyObservationSystems: readonly ["http://loinc.org", "LOINC", "http://snomed.info/sct", "SNOMED"];
export type ClassifyObservationRequest = ClassifyRequest & {
    system: (typeof classifyObservationSystems)[number];
};
export type ClassifyObservationResponse = {
    loincComponent: string;
    loincClass: string;
    loincSystem: string;
    loincMethodType: string;
    loincTimeAspect: string;
    covid19Lab: ["antigen", "antibody", "immunoglobulin"];
    category: [
        "activity",
        "exam",
        "imaging",
        "laboratory",
        "procedure",
        "social-history",
        "survey",
        "therapy",
        "vital-signs"
    ];
};
export type GetFhirR4CodeSystemResponse = CodeSystem;
export type SummarizeFhirR4CodeSystemsResponse = Bundle<CodeSystem>;
declare const codeSystems: readonly ["ICD-10-CM", "ICD-9-CM-Diagnosis", "SNOMED", "RxNorm", "LOINC", "CPT", "HCPCS", "NDC", "CVX", "Argonaut", "C4BBClaimCareTeamRole", "C4BBClaimDiagnosisType", "C4BBCompoundLiteral", "CareEvolution", "CARIN-BB-Claim-Type", "CARIN-BB-DiagnosisType", "CdcRaceAndEthnicity", "ClaimCareTeamRoleCodes", "CMSRemittanceAdviceRemarkCodes", "DRG-FY2018", "DRG-FY2019", "DRG-FY2020", "DRG-FY2021", "DRG-FY2022", "DRG-FY2023", "fhir-address-use", "fhir-administrative-gender", "fhir-allergy-clinical-status", "fhir-allergy-intolerance-category", "Fhir-allergy-intolerance-category-dstu2", "fhir-allergy-intolerance-criticality", "fhir-allergy-intolerance-criticality-dstu2", "fhir-allergy-intolerance-status", "fhir-allergy-intolerance-type", "fhir-allergy-verification-status", "fhir-allergyintolerance-clinical", "fhir-allergyintolerance-verification", "fhir-care-plan-activity-status", "fhir-claim-type-link", "fhir-condition-category", "fhir-condition-category-dstu2", "fhir-condition-category-stu3", "fhir-condition-clinical", "fhir-condition-ver-status", "fhir-contact-point-system", "fhir-contact-point-system-DSTU2", "fhir-contact-point-use", "fhir-diagnosis-role", "fhir-diagnostic-order-priority", "fhir-diagnostic-order-status", "fhir-diagnostic-report-status", "fhir-document-reference-status", "fhir-encounter-admit-source", "fhir-encounter-class", "fhir-event-status", "fhir-explanationofbenefit-status", "fhir-fm-status", "fhir-goal-status", "fhir-goal-status-dstu2", "fhir-goal-status-stu3", "fhir-medication-admin-status", "fhir-medication-admin-status-R4", "fhir-medication-dispense-status", "fhir-medication-order-status", "fhir-medication-request-priority", "fhir-medication-request-status", "fhir-medication-statement-status", "fhir-medicationdispense-status", "fhir-medicationrequest-status", "fhir-name-use", "fhir-observation-status", "fhir-procedure-request-priority", "fhir-procedure-request-status", "fhir-reaction-event-severity", "fhir-referralstatus", "fhir-request-intent", "fhir-request-priority", "fhir-request-status", "fhir-task-intent", "fhir-task-status", "FhirCodes", "FhirCodesAlternate1", "FhirCodesAlternate2", "FhirCodesAlternate3", "FhirCodesAlternate4", "FhirCodesAlternate5", "FhirCodesAlternate6", "FhirCodesAlternate7", "HCC-V22", "HCC-V23", "HCC-V24", "HL7 Table 0001 - Administrative Sex", "HL7 Table 0002 - Marital Status", "HL7 Table 0004 - Patient Class", "HL7 Table 0005 - Race", "HL7 Table 0006 - Religion", "HL7 Table 0189 - Ethnic Group", "HL7ActCode", "HL7Acuity", "HL7ContactInfoUseCode", "HL7CurrentSmokingStatus", "HL7DetailedEthnicity", "HL7Ethnicity", "HL7Gender", "HL7MaritalStatus", "HL7NullFlavor", "HL7Race", "HL7RaceCategoryExcludingNulls", "HL7v3Religion", "ICD-9-CM (diagnosis codes)", "ICD-9-CM (procedure codes)", "InternetSocietyLanguage", "NCPDPDispensedAsWrittenOrProductSelectionCode", "OMOP", "POS", "ProviderTaxonomy", "Source Of Payment Typology", "UCUM", "UNII", "uscore-condition-category", "v2 Name Type", "X12ClaimAdjustmentReasonCodes"];
export type GetFhirR4CodeSystemRequest = {
    codeSystem: (typeof codeSystems)[number];
    conceptContains?: string;
    pageNumber?: number;
    pageSize?: number;
};
export type SummarizeFhirR4CodeSystemRequest = {
    codeSystem: (typeof codeSystems)[number];
};
export type SummarizeFhirR4CodeSystemResponse = CodeSystem;
export type GetFhirR4ConceptMapResponse = Bundle<ConceptMap>;
export type TranslateFhirR4ConceptMapResponse = Parameters;
declare const translateDomains: readonly ["Condition", "AllergyIntolerance", "MedicationDispense", "MedicationAdministration", "MedicationRequest", "ExplanationOfBenefit", "Encounter", "Procedure", "DiagnosticReport", "Observation", "ServiceRequest", "Patient", "Practitioner", "Person", "CarePlan"];
export type TranslateFhirR4ConceptMapRequest = {
    code: string;
    domain?: (typeof translateDomains)[number];
};
export type GetFhirR4ValueSetScopesResponse = ValueSet;
export type SummarizeFhirR4ValueSetScopeRequest = {
    scope: string;
};
export type SummarizeFhirR4ValueSetScopeResponse = Bundle<ValueSet>;
export type SummarizeFhirR4ValueSetRequest = {
    id: string;
};
export type SummarizeFhirR4ValueSetResponse = ValueSet;
export type GetFhirR4ValueSetRequest = {
    id: string;
};
export type GetFhirR4ValueSetResponse = ValueSet;
declare const classifyValueSetSystems: readonly ["http://snomed.info/sct", "http://hl7.org/fhir/sid/icd-10-cm", "http://hl7.org/fhir/sid/icd-9-cm-diagnosis", "http://hl7.org/fhir/sid/ndc", "http://hl7.org/fhir/sid/cvx"];
type ClassifyFhirR4ValueSetMembershipRequestSystem = ParametersParameter & {
    name: "system";
    valueString: (typeof classifyValueSetSystems)[number];
};
type ClassifyFhirR4ValueSetMembershipRequestCode = ParametersParameter & {
    name: "code";
    valueString: string;
};
type ClassifyFhirR4ValueSetMembershipRequestScope = ParametersParameter & {
    name: "scope";
    valueString: string;
};
type ClassifyFhirR4ValueSetMembershipRequestParameter = ClassifyFhirR4ValueSetMembershipRequestCode | ClassifyFhirR4ValueSetMembershipRequestScope | ClassifyFhirR4ValueSetMembershipRequestSystem;
export type ClassifyFhirR4ValueSetMembershipRequest = Parameters & {
    parameter: ClassifyFhirR4ValueSetMembershipRequestParameter[];
};
export type ClassifyFhirR4ValueSetMembershipResponse = Parameters;
export type GetFhirR4ValueSetsByScopeRequest = {
    name?: string;
    scope?: string;
    pageNumber?: number;
    pageSize?: number;
};
export type GetFhirR4ValueSetsByScopeResponse = Bundle<ValueSet>;
export type GetAllFhirR4ValueSetsForCodesRequest = ClassifyFhirR4ValueSetMembershipRequest;
export type GetAllFhirR4ValueSetsForCodesResponse = ClassifyFhirR4ValueSetMembershipResponse;
export declare class TerminologyApi {
    private httpHandler;
    constructor(httpHandler: IHttpHandler);
    handleBatchOverload<TIn, TOut>(url: string, request: TIn): Promise<TOut>;
    /**
     * Classifies a condition, problem, or diagnosis. The input must be from one of the following code systems:
     *
     * - ICD-10-CM
     * - ICD-9-CM-Diagnosis
     * - SNOMED
     * @param request A FHIR Coding
     * @returns A set of key/value pairs representing different classification of the supplied coding
     * @link https://rosetta-api.docs.careevolution.com/terminology/classify/condition.html
     */
    classifyCondition(request: ClassifyConditionRequest): Promise<ClassifyConditionResponse>;
    /**
     * Classifies conditions, problems, or diagnoses. The input must be from one of the following code systems:
     * - ICD-10-CM
     * - ICD-9-CM-Diagnosis
     * - SNOMED
     * @param request An array of FHIR Codings
     * @returns An array of sets of key/value pairs representing different classification of the supplied coding in the same order as the input
     * @link https://rosetta-api.docs.careevolution.com/terminology/classify/condition.html
     */
    classifyCondition(request: ClassifyConditionRequest[]): Promise<ClassifyConditionResponse[]>;
    /**
     * Classifies a medication. The input must be from one of the following code systems:
     *
     * - RxNorm
     * - NDC
     * - CVX
     * - SNOMED
     * @param request A FHIR Coding
     * @returns A set of key/value pairs representing different classification of the supplied coding
     * @link https://rosetta-api.docs.careevolution.com/terminology/classify/medication.html
     */
    classifyMedication(request: ClassifyMedicationRequest): Promise<ClassifyMedicationResponse>;
    /**
     * Classifies medications. The input must be from one of the following code systems:
     *
     * - RxNorm
     * - NDC
     * - CVX
     * - SNOMED
     * @param request An array of FHIR Codings
     * @returns An array of sets of key/value pairs representing different classification of the supplied coding in the same order as the input
     * @link https://rosetta-api.docs.careevolution.com/terminology/classify/medication.html
     */
    classifyMedication(request: ClassifyMedicationRequest[]): Promise<ClassifyMedicationResponse[]>;
    /**
     * Classifies an observation, including lab observations and panels, radiology or other reports. The input must be from one of the following code systems:
     *
     * - LOINC
     * - SNOMED
     * @param request A FHIR Coding
     * @returns A set of key/value pairs representing different classification of the supplied coding
     * @link https://rosetta-api.docs.careevolution.com/terminology/classify/observation.html
     */
    classifyObservation(request: ClassifyObservationRequest): Promise<ClassifyObservationResponse>;
    /**
     * Classifies observations, including lab observations and panels, radiology or other reports. The input must be from one of the following code systems:
     *
     * - LOINC
     * - SNOMED
     * @param request An array of FHIR Codings
     * @returns An array of sets of key/value pairs representing different classification of the supplied coding in the same order as the input
     * @link https://rosetta-api.docs.careevolution.com/terminology/classify/observation.html
     */
    classifyObservation(request: ClassifyObservationRequest[]): Promise<ClassifyObservationResponse[]>;
    /**
     * Standardize a condition, problem, or diagnosis
     * @param request A FHIR Coding
     * @returns A collection of standardized codes
     * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/condition.html
     */
    standardizeCondition(request: StandardizeRequest): Promise<StandardizeConditionResponse>;
    /**
     * Standardize conditions, problems, or diagnoses
     * @param request An array of FHIR Codings
     * @returns An array of collections of standardized codes in the same order as the input
     * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/condition.html
     */
    standardizeCondition(request: StandardizeRequest[]): Promise<StandardizeConditionResponse[]>;
    /**
     * Standardize a medication code
     * @param request A FHIR Coding
     * @returns A collection of standardized codes
     * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/medication.html
     */
    standardizeMedication(request: StandardizeRequest): Promise<StandardizeMedicationResponse>;
    /**
     * Standardize medication codes
     * @param request An array of FHIR Codings
     * @returns An array of collections of standardized codes in the same order as the input
     * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/medication.html
     */
    standardizeMedication(request: StandardizeRequest[]): Promise<StandardizeMedicationResponse[]>;
    /**
     * Standardize an observation code
     * @param request A FHIR Coding
     * @returns A collection of standardized codes
     * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/observation.html
     */
    standardizeObservation(request: StandardizeRequest): Promise<StandardizeObservationResponse>;
    /**
     * Standardize observation codes
     * @param request An array of FHIR Codings
     * @returns An array of collections of standardized codes in the same order as the input
     * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/observation.html
     */
    standardizeObservation(request: StandardizeRequest[]): Promise<StandardizeObservationResponse[]>;
    /**
     * Standardize a procedure
     * @param request A FHIR Coding
     * @returns A collection of standardized codes
     * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/procedure.html
     */
    standardizeProcedure(request: StandardizeRequest): Promise<StandardizeObservationResponse>;
    /**
     * Standardize procedures
     * @param request An array of FHIR Codings
     * @returns An array of collections of standardized codes in the same order as the input
     * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/procedure.html
     */
    standardizeProcedure(request: StandardizeRequest[]): Promise<StandardizeObservationResponse[]>;
    /**
     * Standardize a lab observation or report code
     * @param request A FHIR Coding
     * @returns A collection of standardized codes
     * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/lab.html
     */
    standardizeLab(request: StandardizeRequest): Promise<StandardizeLabResponse>;
    /**
     * Standardize lab observations or report codes
     * @param request An array of FHIR Codings
     * @returns An array of collections of standardized codes in the same order as the input
     * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/lab.html
     */
    standardizeLab(request: StandardizeRequest[]): Promise<StandardizeLabResponse[]>;
    /**
     * Standardize a radiology or other report code
     * @param request A FHIR Coding
     * @returns A collection of standardized codes
     * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/radiology.html
     */
    standardizeRadiology(request: StandardizeRequest): Promise<StandardizeRadiologyResponse>;
    /**
     * Standardize radiology or other report codes
     * @param request An array of FHIR Codings
     * @returns An array of collections of standardized codes in the same order as the input
     * @link https://rosetta-api.docs.careevolution.com/terminology/standardize/radiology.html
     */
    standardizeRadiology(request: StandardizeRequest[]): Promise<StandardizeRadiologyResponse[]>;
    /**
     * Describes a code system
     * @param request A code system name
     * @returns A populated CodeSystem
     * @link https://rosetta-api.docs.careevolution.com/fhir/codesystem.html
     */
    getFhirR4CodeSystem(request: GetFhirR4CodeSystemRequest): Promise<GetFhirR4CodeSystemResponse>;
    /**
     * Describes available code systems
     * @returns A bundle of known CodeSystems
     * @link https://rosetta-api.docs.careevolution.com/fhir/codesystem.html
     */
    summarizeFhirR4CodeSystems(): Promise<SummarizeFhirR4CodeSystemsResponse>;
    /**
     * Describes available concept maps
     * @returns A bundle of known ConceptMaps
     * @link https://rosetta-api.docs.careevolution.com/fhir/conceptmap.html
     */
    getFhirR4ConceptMaps(): Promise<GetFhirR4ConceptMapResponse>;
    /**
     * Standardizes source codings to a reference code
     * @param request The best source description of the concept
     * @returns A Parameters object with the `"result"` parameter of `"valueBoolean": true` indicating if the service was able to standardize the code
     * @link https://rosetta-api.docs.careevolution.com/fhir/conceptmap.html
     */
    translateFhirR4ConceptMap(request: TranslateFhirR4ConceptMapRequest): Promise<TranslateFhirR4ConceptMapResponse>;
    /**
     * Retrieves the set of ValueSets described in a scope
     * @param request A scope identifier
     * @returns A bundle of ValueSets within the requested scope
     * @link https://rosetta-api.docs.careevolution.com/fhir/valueset.html
     */
    summarizeFhirR4ValueSetScope(request: SummarizeFhirR4ValueSetScopeRequest): Promise<SummarizeFhirR4ValueSetScopeResponse>;
    /**
     * Summarizes the total number of codes in a ValueSet
     * @param request A ValueSet identifier
     * @returns A ValueSet resource with only the count populated
     * @link https://rosetta-api.docs.careevolution.com/fhir/valueset.html
     */
    summarizeFhirR4ValueSet(request: SummarizeFhirR4ValueSetRequest): Promise<SummarizeFhirR4ValueSetResponse>;
    /**
     * Retrieves a ValueSet by identifier
     * @param request A ValueSet identifier
     * @returns A ValueSet resource
     * @link https://rosetta-api.docs.careevolution.com/fhir/valueset.html
     */
    getFhirR4ValueSet(request: GetFhirR4ValueSetRequest): Promise<GetFhirR4ValueSetResponse>;
    /**
     * Retrieves a paginated list of ValueSets filtered by name or scope
     * @param request A paginated request for ValueSets
     * @returns A bundle of ValueSets that match the search criteria
     * @link https://rosetta-api.docs.careevolution.com/fhir/valueset.html
     */
    getFhirR4ValueSetsByScope(request: GetFhirR4ValueSetsByScopeRequest): Promise<GetFhirR4ValueSetsByScopeResponse>;
    /**
     * Requests the available ValueSet scopes
     * @returns A unique ValueSet that contains a list of all scopes available on the server
     * @link https://rosetta-api.docs.careevolution.com/fhir/valueset.html
     */
    getFhirR4ValueSetScopes(): Promise<GetFhirR4ValueSetScopesResponse>;
    /**
     * In some situations it is useful to get the ValueSet(s) that a list of codes are members of. This can be used to categorize or group codes by ValueSet membership. For example, you may wish to:
     *
     *  - Categorize a collection of NDC drug codes by their active ingredient.
     *  - Categorize a collection of LOINC lab tests by the component they are measuring.
     *  - Categorize a collection of ICD-10-CM Diagnoses into a broad set of disease groupings.
     * @param request A Parameters resource containing codes to classify
     * @returns A Parameters resource containing the classification results
     * @link https://rosetta-api.docs.careevolution.com/fhir/valueset.html
     */
    getAllFhirR4ValueSetsForCodes(request: GetAllFhirR4ValueSetsForCodesRequest): Promise<GetAllFhirR4ValueSetsForCodesResponse>;
    /**
     * Summarizes a code system, typically used to determine number of codes
     * @param request A code system name
     * @returns An unpopulated CodeSystem
     * @link https://rosetta-api.docs.careevolution.com/fhir/codesystem.html
     */
    summarizeFhirR4CodeSystem(request: SummarizeFhirR4CodeSystemRequest): Promise<SummarizeFhirR4CodeSystemResponse>;
}
export {};
