import { Extension } from './Extension.js';
import { FhirPrimitive } from './FhirPrimitive.js';
import { Reference } from './Reference.js';
import { Resource } from './Resource.js';
export interface ImplementationGuide_Definition_Resource {
    /**
     * @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 May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained andor the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.
  
  Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
     * @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 Extensions that cannot be ignored even if unrecognized
     */
    modifierExtension?: Extension[];
    /**
     * @description Where this resource is found.
     * @comment Usually this is a relative URL that locates the resource within the implementation guide. If you authoring an implementation guide, and will publish it using the FHIR publication tooling, use a URI that may point to a resource, or to one of various alternative representations (e.g. spreadsheet). The tooling will convert this when it publishes it.
     * @short Location of the resource
     */
    reference: Reference<Resource>;
    /**
     * @description Indicates the FHIR Version(s) this artifact is intended to apply to. If no versions are specified, the resource is assumed to apply to all the versions stated in ImplementationGuide.fhirVersion.
     * @comment The resource SHALL be valid against all the versions it is specified to apply to. If the resource referred to is a StructureDefinition, the fhirVersion stated in the StructureDefinition cannot disagree with the version specified here; the specified versions SHALL include the version specified by the StructureDefinition, and may include additional versions using the [http:hl7.orgfhirStructureDefinitionstructuredefinition-applicable-version](http:hl7.orgfhirextensionsStructureDefinition-structuredefinition-applicable-version.html) extension.
     * @short Versions this applies to (if different to IG)
     */
    fhirVersion?: FhirPrimitive<string>[];
    /**
     * @description A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name).
     * @short Human readable name for the resource
     */
    name?: FhirPrimitive<string>;
    /**
     * @description A description of the reason that a resource has been included in the implementation guide.
     * @comment This is mostly used with examples to explain why it is present (though they can have extensive comments in the examples).
     * @short Reason why included in guide
     */
    description?: FhirPrimitive<string>;
    /**
     * @description If true, indicates the resource is an example instance.
     * @short Is this an example
     */
    isExample?: FhirPrimitive<boolean>;
    /**
     * @description If present, indicates profile(s) the instance is valid against.
     * @comment Examples:
  
   StructureDefinition -> Any
   ValueSet -> expansion
   OperationDefinition -> Parameters
   Questionnaire -> QuestionnaireResponse.
     * @short Profile(s) this is an example of
     */
    profile?: FhirPrimitive<string>[];
    /**
     * @description Reference to the id of the grouping this resource appears in.
     * @comment This must correspond to a group.id element within this implementation guide.
     * @short Grouping this is part of
     */
    groupingId?: FhirPrimitive<string>;
}
//# sourceMappingURL=ImplementationGuide_Definition_Resource.d.ts.map