import { Extension } from './Extension.js';
import { FhirPrimitive } from './FhirPrimitive.js';
export interface ParameterDefinition {
    /**
     * @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 name of the parameter used to allow access to the value of the parameter in evaluation contexts.
     * @short Name used to access the parameter value
     */
    name?: FhirPrimitive<string>;
    /**
     * @description Whether the parameter is input or output for the module.
     * @short in | out
     */
    use: FhirPrimitive<string>;
    /**
     * @description The minimum number of times this parameter SHALL appear in the request or response.
     * @short Minimum cardinality
     */
    min?: FhirPrimitive<number>;
    /**
     * @description The maximum number of times this element is permitted to appear in the request or response.
     * @short Maximum cardinality (a number of )
     */
    max?: FhirPrimitive<string>;
    /**
     * @description A brief discussion of what the parameter is for and how it is used by the module.
     * @short A brief description of the parameter
     */
    documentation?: FhirPrimitive<string>;
    /**
     * @description The type of the parameter.
     * @short What type of value
     */
    type: FhirPrimitive<string>;
    /**
     * @description If specified, this indicates a profile that the input data must conform to, or that the output data will conform to.
     * @short What profile the value is expected to be
     */
    profile?: FhirPrimitive<string>;
}
//# sourceMappingURL=ParameterDefinition.d.ts.map