import { Age } from './Age.js';
import { CodeableConcept } from './CodeableConcept.js';
import { CodeableReference } from './CodeableReference.js';
import { Duration } from './Duration.js';
import { Extension } from './Extension.js';
import { FhirPrimitive } from './FhirPrimitive.js';
import { Location } from './Location.js';
import { PlanDefinition_Action_Condition } from './PlanDefinition_Action_Condition.js';
import { PlanDefinition_Action_DynamicValue } from './PlanDefinition_Action_DynamicValue.js';
import { PlanDefinition_Action_Input } from './PlanDefinition_Action_Input.js';
import { PlanDefinition_Action_Output } from './PlanDefinition_Action_Output.js';
import { PlanDefinition_Action_Participant } from './PlanDefinition_Action_Participant.js';
import { PlanDefinition_Action_RelatedAction } from './PlanDefinition_Action_RelatedAction.js';
import { Range } from './Range.js';
import { Reference } from './Reference.js';
import { RelatedArtifact } from './RelatedArtifact.js';
import { Timing } from './Timing.js';
import { TriggerDefinition } from './TriggerDefinition.js';
export interface PlanDefinition_Action {
    /**
     * @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 An identifier that is unique within the PlanDefinition to allow linkage within the realized CarePlan andor RequestOrchestration.
     * @short Unique id for the action in the PlanDefinition
     */
    linkId?: FhirPrimitive<string>;
    /**
     * @description A user-visible prefix for the action. For example a section or item numbering such as 1. or A.
     * @short User-visible prefix for the action (e.g. 1. or A.)
     */
    prefix?: FhirPrimitive<string>;
    /**
     * @description The textual description of the action displayed to a user. For example, when the action is a test to be performed, the title would be the title of the test such as Assay by HPLC.
     * @short User-visible title
     */
    title?: FhirPrimitive<string>;
    /**
     * @description A brief description of the action used to provide a summary to display to the user.
     * @short Brief description of the action
     */
    description?: FhirPrimitive<string>;
    /**
     * @description A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically.
     * @short Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
     */
    textEquivalent?: FhirPrimitive<string>;
    /**
     * @description Indicates how quickly the action should be addressed with respect to other actions.
     * @short routine | urgent | asap | stat
     */
    priority?: FhirPrimitive<string>;
    /**
     * @description A code that provides a meaning, grouping, or classification for the action or action group. For example, a section may have a LOINC code for the section of a documentation template. In pharmaceutical quality, an action (Test) such as pH could be classified as a physical property.
     * @short Code representing the meaning of the action or sub-actions
     */
    code?: CodeableConcept;
    /**
     * @description A description of why this action is necessary or appropriate.
     * @comment This is different than the clinical evidence documentation, it's an actual business description of the reason for performing the action.
     * @short Why the action should be performed
     */
    reason?: CodeableConcept[];
    /**
     * @description Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources.
     * @short Supporting documentation for the intended performer of the action
     */
    documentation?: RelatedArtifact[];
    /**
     * @description Identifies goals that this action supports. The reference must be to a goal element defined within this plan definition. In pharmaceutical quality, a goal represents acceptance criteria (Goal) for a given action (Test), so the goalId would be the unique id of a defined goal element establishing the acceptance criteria for the action.
     * @short What goals this action supports
     */
    goalId?: FhirPrimitive<string>[];
    /**
     * @choice This is part of the subject[x] choice.
     * @oneOf subjectCodeableConcept, subjectReference, subjectCanonical
     */
    subjectCodeableConcept?: CodeableConcept;
    /**
     * @choice This is part of the subject[x] choice.
     * @oneOf subjectCodeableConcept, subjectReference, subjectCanonical
     */
    subjectReference?: Reference;
    /**
     * @choice This is part of the subject[x] choice.
     * @oneOf subjectCodeableConcept, subjectReference, subjectCanonical
     */
    subjectCanonical?: FhirPrimitive<string>;
    /**
     * @description A description of when the action should be triggered. When multiple triggers are specified on an action, any triggering event invokes the action.
     * @short When the action should be triggered
     */
    trigger?: TriggerDefinition[];
    /**
     * @backbone Nested BackboneElement: condition [0..*]
     */
    condition?: PlanDefinition_Action_Condition[];
    /**
     * @backbone Nested BackboneElement: input [0..*]
     */
    input?: PlanDefinition_Action_Input[];
    /**
     * @backbone Nested BackboneElement: output [0..*]
     */
    output?: PlanDefinition_Action_Output[];
    /**
     * @backbone Nested BackboneElement: relatedAction [0..*]
     */
    relatedAction?: PlanDefinition_Action_RelatedAction[];
    /**
     * @choice This is part of the timing[x] choice.
     * @oneOf timingAge, timingDuration, timingRange, timingTiming
     */
    timingAge?: Age;
    /**
     * @choice This is part of the timing[x] choice.
     * @oneOf timingAge, timingDuration, timingRange, timingTiming
     */
    timingDuration?: Duration;
    /**
     * @choice This is part of the timing[x] choice.
     * @oneOf timingAge, timingDuration, timingRange, timingTiming
     */
    timingRange?: Range;
    /**
     * @choice This is part of the timing[x] choice.
     * @oneOf timingAge, timingDuration, timingRange, timingTiming
     */
    timingTiming?: Timing;
    /**
     * @description Identifies the facility where the action will occur; e.g. home, hospital, specific clinic, etc.
     * @comment May reference a specific clinical location or may just identify a type of location.
     * @short Where it should happen
     */
    location?: CodeableReference<Location>;
    /**
     * @backbone Nested BackboneElement: participant [0..*]
     */
    participant?: PlanDefinition_Action_Participant[];
    /**
     * @description The type of action to perform (create, update, remove).
     * @short create | update | remove | fire-event
     */
    type?: CodeableConcept;
    /**
     * @description Defines the grouping behavior for the action and its children.
     * @short visual-group | logical-group | sentence-group
     */
    groupingBehavior?: FhirPrimitive<string>;
    /**
     * @description Defines the selection behavior for the action and its children.
     * @short any | all | all-or-none | exactly-one | at-most-one | one-or-more
     */
    selectionBehavior?: FhirPrimitive<string>;
    /**
     * @description Defines the required behavior for the action.
     * @short must | could | must-unless-documented
     */
    requiredBehavior?: FhirPrimitive<string>;
    /**
     * @description Defines whether the action should usually be preselected.
     * @short yes | no
     */
    precheckBehavior?: FhirPrimitive<string>;
    /**
     * @description Defines whether the action can be selected multiple times.
     * @short single | multiple
     */
    cardinalityBehavior?: FhirPrimitive<string>;
    /**
     * @choice This is part of the definition[x] choice.
     * @oneOf definitionCanonical, definitionUri
     */
    definitionCanonical?: FhirPrimitive<string>;
    /**
     * @choice This is part of the definition[x] choice.
     * @oneOf definitionCanonical, definitionUri
     */
    definitionUri?: FhirPrimitive<string>;
    /**
     * @description A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.
     * @comment Note that when a referenced ActivityDefinition also defines a transform, the transform specified here generally takes precedence. In addition, if both a transform and dynamic values are specific, the dynamic values are applied to the result of the transform.
     * @short Transform to apply the template
     */
    transform?: FhirPrimitive<string>;
    /**
     * @backbone Nested BackboneElement: dynamicValue [0..*]
     */
    dynamicValue?: PlanDefinition_Action_DynamicValue[];
    /**
     * @description Sub actions that are contained within the action. The behavior of this action determines the functionality of the sub-actions. For example, a selection behavior of at-most-one indicates that of the sub-actions, at most one may be chosen as part of realizing the action definition.
     * @short A sub-action
     */
    action?: any[];
}
//# sourceMappingURL=PlanDefinition_Action.d.ts.map