import { Duration } from './Duration.js';
import { Extension } from './Extension.js';
import { FhirPrimitive } from './FhirPrimitive.js';
import { Period } from './Period.js';
export interface DataRequirement_ValueFilter {
    /**
     * @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 attribute of the filter. The specified path SHALL be a FHIRPath resolvable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of a type that is comparable to the valueFilter.value[x] element for the filter.
     * @comment The path attribute contains a [Simple FHIR Subset](fhirpath.html#simple) that allows path traversal, but not calculation.
     * @short An attribute to filter on
     */
    path?: FhirPrimitive<string>;
    /**
     * @description A search parameter defined on the specified type of the DataRequirement, and which searches on elements of a type compatible with the type of the valueFilter.value[x] for the filter.
     * @short A parameter to search on
     */
    searchParam?: FhirPrimitive<string>;
    /**
     * @description The comparator to be used to determine whether the value is matching.
     * @short eq | gt | lt | ge | le | sa | eb
     */
    comparator?: FhirPrimitive<string>;
    /**
     * @choice This is part of the value[x] choice.
     * @oneOf valueDateTime, valuePeriod, valueDuration
     */
    valueDateTime?: FhirPrimitive<string>;
    /**
     * @choice This is part of the value[x] choice.
     * @oneOf valueDateTime, valuePeriod, valueDuration
     */
    valuePeriod?: Period;
    /**
     * @choice This is part of the value[x] choice.
     * @oneOf valueDateTime, valuePeriod, valueDuration
     */
    valueDuration?: Duration;
}
//# sourceMappingURL=DataRequirement_ValueFilter.d.ts.map