import { CodeableConcept, Observation } from "@medplum/fhirtypes"; import { MeasurementTypeKey } from "../../../types"; import { RecordResult, RecordType } from "../types/generate-measurement/HealthConnectTypes"; import { Sample } from "../types/generate-measurement/Sample"; import { ObservationValue } from "../types/generate-observation-body/ObservationValue"; import { IObservationService } from "../types/IObservationService"; import { Measurement } from "../types/measurement/Measurement"; import { ObservationMetadata } from "../types/service/ObservationMetadata"; export declare abstract class BaseObservationService implements IObservationService { protected abstract observationMetadata: ObservationMetadata[]; protected abstract measurementTypeKey: MeasurementTypeKey; protected abstract measurementTypeName: string; abstract convertSamplesToMeasurement(samples: Sample[]): T; abstract convertRecordToMeasurement(record: RecordResult): T; protected getCastedMeasurement(measurement: Measurement): T; generateValues(measurement: Measurement): ObservationValue[]; getObservationCodes(): CodeableConcept[]; getAdditionalProperties(_measurement: Measurement): Partial[]; getUnits(): string[]; getMeasurementDisplay(measurement: Measurement): string; getObservationDisplay(observations: Observation[]): string | undefined; }