import { IReference, ICodeableConcept, IElement } from 'fhirtypes/dist/r4';
import { IEncounterDiagnosis, IOperationOutcome } from 'fhirtypes/dist/r4';
import { BackboneElement, IValidatable, ISerializable } from '../base';
/**
  * @version R4 (v4.0.1)
  * @summary FHIR® Specification by HL7®
  * @description Class for EncounterDiagnosis BackboneElement
  undefined
  * @property {IReference} condition
  * @property {ICodeableConcept} use
  * @property {number} rank
  * @property {IElement} _rank
  * @author Roberto Araneda Espinoza
  */
export declare class EncounterDiagnosis extends BackboneElement implements IEncounterDiagnosis, IValidatable, ISerializable {
    /**
     * @description Reason the encounter takes place, as specified using information from another resource. For admissions, this is the admission diagnosis. The indication will typically be a Condition (with other resources referenced in the evidence.detail), or a Procedure.
     */
    condition: IReference;
    /**
     * @description Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …).
     */
    use?: ICodeableConcept;
    /**
     * @description Ranking of the diagnosis (for each role type).
     */
    rank?: number;
    /**
     * @description Extensions for rank
     */
    _rank?: IElement;
    /**
     * @description Returns a JSON representation of the model
     * @returns {Record<string, any>}
     */
    toJson(): Record<string, any>;
    /**
     * @description Returns a string representation of the model
     * @returns {string}
     */
    toString(): string;
    /**
     * @description Returns a pretty string representation of the model
     * @returns {string}
     */
    toPrettyString(): string;
    /**
     * @description Returns a serialized string representation of the model
     * @returns {string}
     */
    serialize(): string;
    /**
     * @description Validates the model
     * @returns {isValid: boolean, operationOutcome: IOperationOutcome}
     */
    validate(): {
        isValid: boolean;
        operationOutcome: IOperationOutcome;
    };
    constructor(args?: IEncounterDiagnosis);
}
