import { IAddress, IAttachment, ICodeableConcept, ICoding, IContactPoint, IElement, IExtension, IHumanName, IIdentifier, IMeta, IPeriod, IQuantity, IRange, IReference, ISignature } from 'fhirtypes/dist/r4';
import { ExtensionBuilder } from '../../builders';
import { Element } from '../base/Element';
import { IValidatable } from '../base/IValidatable';
import { ISerializable } from '../base/ISerializable';
import { IDuration } from 'fhirtypes/dist/r4/datatypes';
export declare class Extension extends Element implements IExtension, IValidatable, ISerializable {
    url: string;
    valueAddress?: IAddress;
    valueAttachment?: IAttachment;
    valueBase64Binary?: string;
    valueBoolean?: boolean;
    valueCanonical?: string;
    valueCode?: string;
    valueCodeableConcept?: ICodeableConcept;
    valueCoding?: ICoding;
    valueContactPoint?: IContactPoint;
    valueDate?: string;
    valueDateTime?: string;
    valueDecimal?: number;
    valueId?: string;
    valueIdentifier?: IIdentifier;
    valueInstant?: string;
    valueInteger?: number;
    valueMarkdown?: string;
    valueOid?: string;
    valuePeriod?: IPeriod;
    valuePositiveInt?: number;
    valueQuantity?: IQuantity;
    valueString?: string;
    valueTime?: string;
    valueUnsignedInt?: number;
    valueUri?: string;
    valueUrl?: string;
    valueUuid?: string;
    valueDuration?: IDuration;
    valueHumanName?: IHumanName;
    valueMeta?: IMeta;
    valueReference?: IReference;
    valueRange?: IRange;
    valueSignature?: ISignature;
    _url?: IElement;
    toJson(): any;
    toPrettyString(): string;
    toString(): string;
    validate(): {
        isValid: boolean;
        operationOutcome: import("fhirtypes/dist/r4").IOperationOutcome;
    };
    constructor(args?: IExtension);
    protected builderInstance(): ExtensionBuilder;
    serialize(): string;
}
