import * as JSON from '../utility/json-helpers'; import { IBase } from './library-interfaces'; /** * Abstract Base Class * * @remarks * Base Type: Base definition for all types defined in FHIR type system. * * The Base type that all other types specialize. * This type has no properties or constraints. * This class contains abstract methods useful to all FHIR classes. * * **FHIR Specification** * - **Short**: Base for all types and resources * - **Definition**: Base definition for all types defined in FHIR type system. * - **FHIR Version**: 5.0.0; Normative since 4.0.0 * * @privateRemarks * Loosely based on HAPI FHIR org.hl7.fhir-core.r4.model.Base * * @category Base Models * @see [FHIR Base](http://hl7.org/fhir/StructureDefinition/Base) */ export declare abstract class Base implements IBase { protected constructor(); /** * @returns the FHIR type defined in the FHIR standard */ abstract fhirType(): string; /** * @returns `true` if the instance is empty; `false` otherwise */ abstract isEmpty(): boolean; /** * Creates a copy of the current instance. * * @privateRemarks * Base specification returning `any` is reasonable since all implementing classes will be generated * and this method will be overridden by the generated class. * * @returns the a new instance copied from the current instance */ abstract copy(): any; /** * Copies the current instance's elements into the provided object. * * @privateRemarks * Base specification returning `any` is reasonable since all implementing classes will be generated * and this method will be overridden by the generated class. * * @param dest - the copied instance * @protected */ protected abstract copyValues(dest: any): void; /** * @returns the JSON value */ abstract toJSON(): JSON.Value | undefined; /** * @returns `true` if and only if the data model has required fields (min cardinality > 0) * and at least one of those required fields in the instance is empty; `false` otherwise */ isRequiredFieldsEmpty(): boolean; /** * @returns `true` if the instance is a FHIR resource; `false` otherwise */ isResource(): boolean; /** * @returns `true` if the instance is a FHIR complex or primitive datatype; `false` otherwise */ isDataType(): boolean; /** * @returns `true` if the instance is a FHIR complex datatype; `false` otherwise */ isComplexDataType(): boolean; /** * @returns `true` if the instance is a FHIR primitive datatype; `false` otherwise */ isPrimitive(): boolean; /** * @returns `true` if the instance is a FHIR primitive boolean datatype; `false` otherwise */ isBooleanPrimitive(): boolean; /** * @returns `true` if the instance is a FHIR primitive string-based datatype; `false` otherwise */ isStringPrimitive(): boolean; /** * @returns `true` if the instance is a FHIR primitive number-based datatype; `false` otherwise */ isNumberPrimitive(): boolean; /** * @returns `true` if the instance is a FHIR primitive bigint-based datatype; `false` otherwise */ isBigIntPrimitive(): boolean; /** * @returns `true` if the instance is a FHIR primitive datetime-based datatype; `false` otherwise */ isDateTimePrimitive(): boolean; } //# sourceMappingURL=Base.d.ts.map