import { IBuildable } from '../base/IBuildable';
import { Money } from '../../models/datatypes/Money';
import { CurrencyCodeType } from 'fhirtypes/dist/r4/types';
import { ElementBuilder } from '../base/ElementBuilder';
import { IElement } from 'fhirtypes/dist/r4';
import { UnderscoreKeys } from '../base/resource-type-map.interface';
type PrimitiveExtensionFields = keyof Pick<Money, UnderscoreKeys<Money>>;
interface IMoneyBuilder extends IBuildable<Money> {
    setValue(value: number): this;
    setCurrency(currency: CurrencyCodeType): this;
}
export declare class MoneyBuilder extends ElementBuilder implements IMoneyBuilder {
    private readonly money;
    constructor();
    addPrimitiveExtension(param: PrimitiveExtensionFields, extension: IElement): this;
    setValue(value: number): this;
    setCurrency(currency: CurrencyCodeType): this;
    build(): Money;
}
export {};
