import * as t from 'io-ts';
import { IExtension } from './RTTI_Extension';
import { IElement } from './RTTI_Element';
import { IPeriod } from './RTTI_Period';
export declare enum AddressUseKind {
    _home = "home",
    _work = "work",
    _temp = "temp",
    _old = "old",
    _billing = "billing"
}
export declare enum AddressTypeKind {
    _postal = "postal",
    _physical = "physical",
    _both = "both"
}
export interface IAddress {
    id?: string;
    extension?: IExtension[];
    use?: AddressUseKind;
    _use?: IElement;
    type?: AddressTypeKind;
    _type?: IElement;
    text?: string;
    _text?: IElement;
    line?: string[];
    _line?: IElement[];
    city?: string;
    _city?: IElement;
    district?: string;
    _district?: IElement;
    state?: string;
    _state?: IElement;
    postalCode?: string;
    _postalCode?: IElement;
    country?: string;
    _country?: IElement;
    period?: IPeriod;
}
export declare const RTTI_Address: t.Type<IAddress>;
