import { ICodeableConcept, IdentifierUseType, IElement, IPeriod, IReference } from 'fhirtypes/dist/r4';
import { Identifier } from '../../models';
import { IBuildable } from '../base/IBuildable';
import { UnderscoreKeys } from '../base/resource-type-map.interface';
import { ElementBuilder } from '../base/ElementBuilder';
type PrimitiveExtensionFields = keyof Pick<Identifier, UnderscoreKeys<Identifier>>;
interface IIdentifierBuilder extends IBuildable<Identifier> {
    setType(value: ICodeableConcept): this;
    setUse(value: IdentifierUseType): this;
    setSystem(value: string): this;
    setValue(value: string): this;
    setPeriod(value: IPeriod): this;
    setAssigner(value: IReference): this;
}
export declare class IdentifierBuilder extends ElementBuilder implements IIdentifierBuilder {
    private readonly identifier;
    constructor();
    addPrimitiveExtension(param: PrimitiveExtensionFields, extension: IElement): this;
    setType(value: ICodeableConcept): this;
    setUse(value: IdentifierUseType): this;
    setSystem(value: string): this;
    setValue(value: string): this;
    setPeriod(value: IPeriod): this;
    setAssigner(value: IReference): this;
    build(): Identifier;
}
export {};
