import { ICoding, IElement } from 'fhirtypes/dist/r4';
import { CodeableConcept } from '../../models';
import { IBuildable } from '../base/IBuildable';
import { UnderscoreKeys } from '../base/resource-type-map.interface';
import { ElementBuilder } from '../base/ElementBuilder';
type PrimitiveExtensionFields = keyof Pick<CodeableConcept, UnderscoreKeys<CodeableConcept>>;
interface ICodeableConceptBuilder extends IBuildable<CodeableConcept> {
    addCoding(coding: ICoding): this;
    setText(text: string): this;
}
export declare class CodeableConceptBuilder extends ElementBuilder implements ICodeableConceptBuilder {
    private readonly codeableConcept;
    constructor();
    /**
     * @description Add a param extension to the codeable concept
     * @param {string} param The param to add the extension to
     * @param {IElement} extension The extension to add
     * @returns {CodeableConceptBuilder} The builder
     */
    addPrimitiveExtension(param: PrimitiveExtensionFields, extension: IElement): this;
    addCoding(coding: ICoding): this;
    setText(text: string): this;
    build(): CodeableConcept;
}
export {};
