import { Extension } from './Extension.js';
import { FhirPrimitive } from './FhirPrimitive.js';
export interface ElementDefinition_Constraint {
    /**
     * @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 Allows identification of which elements have their cardinalities impacted by the constraint.  Will not be referenced for constraints that do not affect cardinality.
     * @short Target of 'condition' reference above
     */
    key: FhirPrimitive<string>;
    /**
     * @description Description of why this constraint is necessary or appropriate.
     * @comment To be used if the reason for the constraint might not be intuitive to all implementers.
     * @short Why this constraint is necessary or appropriate
     */
    requirements?: FhirPrimitive<string>;
    /**
     * @description Identifies the impact constraint violation has on the conformance of the instance.
     * @comment This allows constraints to be asserted as "shall" (error) and "should" (warning).
     * @short error | warning
     */
    severity: FhirPrimitive<string>;
    /**
     * @description If true, indicates that the warning or best practice guideline should be suppressed.
     * @comment This element should only be present in a derived profile where a warning or hint has been determined to be spuriousincorrect. E.g. a warning encouraging the inclusion of an element that the profile explicitly prohibits.
     * @short Suppress warning or hint in profile
     */
    suppress?: FhirPrimitive<boolean>;
    /**
     * @description Text that can be used to describe the constraint in messages identifying that the constraint has been violated.
     * @comment Should be expressed in business terms as much as possible.
     * @short Human description of constraint
     */
    human: FhirPrimitive<string>;
    /**
     * @description A [FHIRPath](fhirpath.html) expression of constraint that can be executed to see if this constraint is met.
     * @comment In the absense of an expression, the expression is likely not enforceable by validators, and might be missed by many systems.
     * @short FHIRPath expression of constraint
     */
    expression?: FhirPrimitive<string>;
    /**
     * @description A reference to the original source of the constraint, for traceability purposes.
     * @comment This is used when, e.g. rendering, where it is not useful to present inherited constraints when rendering the snapshot.
     * @short Reference to original source of constraint
     */
    source?: FhirPrimitive<string>;
}
//# sourceMappingURL=ElementDefinition_Constraint.d.ts.map