UNPKG

fhirbuilder

Version:
40 lines (39 loc) 1.45 kB
import { IElement, IPeriod, NameUseType } from 'fhirtypes/dist/r4'; import { HumanName } from '../../models'; import { IBuildable } from '../base/IBuildable'; import { UnderscoreKeys } from '../base/resource-type-map.interface'; import { ElementBuilder } from '../base/ElementBuilder'; type PrimitiveExtensionFields = keyof Pick<HumanName, UnderscoreKeys<HumanName>>; interface IHumanNameBuilder extends IBuildable<HumanName> { setUse(value: NameUseType): this; setText(value: string): this; setFamily(value: string): this; addGiven(value: string): this; addPrefix(value: string): this; addSuffix(value: string): this; /** * Set period * @param value * @returns {HumanNameBuilder} */ setPeriod(value: IPeriod): this; } export declare class HumanNameBuilder extends ElementBuilder implements IHumanNameBuilder { private readonly humanName; constructor(); addPrimitiveExtension<T extends PrimitiveExtensionFields>(param: T, extension: T extends '_given' | '_prefix' | '_suffix' ? IElement[] : IElement): this; setUse(value: NameUseType): this; setText(value: string): this; setFamily(value: string): this; addGiven(value: string): this; addPrefix(value: string): this; addSuffix(value: string): this; /** * Set period * @param value * @returns {HumanNameBuilder} */ setPeriod(value: IPeriod): this; build(): HumanName; } export {};