import { ICodeableConcept, IReference, IPeriod } from 'fhirtypes/dist/r4';
import { CareTeamParticipant } from '../../models';
import { BackboneBuilder, IBuildable } from '../base';
/**
 * @description Interface for chaining the building of a CareTeamParticipant
 * @interface ICareTeamParticipantBuilder
 * @extends {IBuildable<CareTeamParticipant>}
 */
interface ICareTeamParticipantBuilder extends IBuildable<CareTeamParticipant> {
    addRole(value: ICodeableConcept): this;
    setMember(value: IReference): this;
    setOnBehalfOf(value: IReference): this;
    setPeriod(value: IPeriod): this;
}
/**
 * @version R4 (v4.0.1)
 * @summary FHIR® Specification by HL7®
 * @description Class for building a CareTeamParticipant
 * @class CareTeamParticipantBuilder
 * @extends {BackboneBuilder}
 * @implements {ICareTeamParticipantBuilder}
 * @author Roberto Araneda Espinoza
 */
export declare class CareTeamParticipantBuilder extends BackboneBuilder implements ICareTeamParticipantBuilder {
    private readonly careTeamParticipant;
    constructor();
    /**
     * @description Builds the model
     * @returns {CareTeamParticipant}
     */
    build(): CareTeamParticipant;
    /**
     * @description Adds a value to the role array
     * @description Indicates specific responsibility of an individual within the care team, such as "Primary care physician", "Trained social worker counselor", "Caregiver", etc.
     * @param value - the value to add
     * @returns {this}
     */
    addRole(value: ICodeableConcept): this;
    /**
     * @description Sets the member value
     * @description The specific person or organization who is participating/expected to participate in the care team.
     * @param value - the value to set
     * @returns {this}
     */
    setMember(value: IReference): this;
    /**
     * @description Sets the onBehalfOf value
     * @description The organization of the practitioner.
     * @param value - the value to set
     * @returns {this}
     */
    setOnBehalfOf(value: IReference): this;
    /**
     * @description Sets the period value
     * @description Indicates when the specific member or organization did (or is intended to) come into effect and end.
     * @param value - the value to set
     * @returns {this}
     */
    setPeriod(value: IPeriod): this;
}
export {};
