import { Attachment } from './Attachment.js';
import { CodeableConcept } from './CodeableConcept.js';
import { Extension } from './Extension.js';
import { FhirPrimitive } from './FhirPrimitive.js';
import { Reference } from './Reference.js';
import { Resource } from './Resource.js';
export interface RelatedArtifact {
    /**
     * @description Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
     * @short Unique id for inter-element referencing
     */
    id?: string;
    /**
     * @description May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
     * @comment There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
     * @short Additional content defined by implementations
     */
    extension?: Extension[];
    /**
     * @description The type of relationship to the related artifact.
     * @comment The presence of both sides of a relationship type (e.g. successor and predecessor) is required to support use cases where one side of a relationship is not represented in FHIR. However, this feature SHALL NOT be used to create bi-directional resource links in FHIR instances. Specifically, following the methodology of "new points to old" and "many points to one", when using related artifact elements to describe and reference FHIR resources, the type element SHALL be drawn from the fhir-related-artifact-type ValueSet.
     * @short documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of | part-of | amends | amended-with | appends | appended-with | cites | cited-by | comments-on | comment-in | contains | contained-in | corrects | correction-in | replaces | replaced-with | retracts | retracted-by | signs | similar-to | supports | supported-with | transforms | transformed-into | transformed-with | documents | specification-of | created-with | cite-as
     */
    type: FhirPrimitive<string>;
    /**
     * @description Provides additional classifiers of the related artifact.
     * @short Additional classifiers
     */
    classifier?: CodeableConcept[];
    /**
     * @description A short label that can be used to reference the citation from elsewhere in the containing artifact, such as a footnote index.
     * @short Short label
     */
    label?: FhirPrimitive<string>;
    /**
     * @description A brief description of the document or knowledge resource being referenced, suitable for display to a consumer.
     * @short Brief description of the related artifact
     */
    display?: FhirPrimitive<string>;
    /**
     * @description A bibliographic citation for the related artifact. This text SHOULD be formatted according to an accepted citation format.
     * @comment Additional structured information about citations should be captured as extensions.
     * @short Bibliographic citation for the artifact
     */
    citation?: FhirPrimitive<string>;
    /**
     * @description The document being referenced, represented as an attachment. This is exclusive with the resource element.
     * @short What document is being referenced
     */
    document?: Attachment;
    /**
     * @description The related artifact, such as a library, value set, profile, or other knowledge resource.
     * @comment If the type is predecessor, this is a reference to the succeeding knowledge resource. If the type is successor, this is a reference to the prior knowledge resource.
     * @short What artifact is being referenced
     */
    resource?: FhirPrimitive<string>;
    /**
     * @description The related artifact, if the artifact is not a canonical resource, or a resource reference to a canonical resource.
     * @comment If both resource and resourceReference are present, they SHOULD be consistent and reference the same resource. Although relatedArtifact is intended to support references to definitional resources, there are cases where non-definitional resources can be definitional (such as Location where the kind is mode). Related artifacts SHOULD be used to reference definitional resources, and profiles SHOULD be used to make that explicit for particular use cases.
     * @short What artifact, if not a conformance resource
     */
    resourceReference?: Reference<Resource>;
    /**
     * @description The publication status of the artifact being referred to.
     * @short draft | active | retired | unknown
     */
    publicationStatus?: FhirPrimitive<string>;
    /**
     * @description The date of publication of the artifact being referred to.
     * @short Date of publication of the artifact being referred to
     */
    publicationDate?: FhirPrimitive<string>;
}
//# sourceMappingURL=RelatedArtifact.d.ts.map