import { IBuildable } from '../base/IBuildable';
import { Duration } from '../../models';
import { IElement, QuantityComparatorType } from 'fhirtypes/dist/r4';
import { UnderscoreKeys } from '../base/resource-type-map.interface';
import { ElementBuilder } from '../base/ElementBuilder';
type PrimitiveExtensionFields = keyof Pick<Duration, UnderscoreKeys<Duration>>;
interface IDurationBuilder extends IBuildable<Duration> {
    setCode(value: string): this;
    setSystem(value: string): this;
    setUnit(value: string): this;
    setValue(value: number): this;
    setComparator(value: QuantityComparatorType): this;
}
export declare class DurationBuilder extends ElementBuilder implements IDurationBuilder {
    private readonly duration;
    constructor();
    addPrimitiveExtension(param: PrimitiveExtensionFields, extension: IElement): this;
    build(): Duration;
    setCode(value: string): this;
    setSystem(value: string): this;
    setUnit(value: string): this;
    setValue(value: number): this;
    setComparator(value: QuantityComparatorType): this;
}
export {};
