import * as model from "./index";
/**
 * Represents outlook contact information.
 */
export declare class MapiContactDto extends model.MapiMessageItemBaseDto {
    /**
     * Attribute type map
     */
    static attributeTypeMap: Array<{
        name: string;
        baseName: string;
        type: string;
    }>;
    /**
     * Returns attribute type map
     */
    static getAttributeTypeMap(): {
        name: string;
        baseName: string;
        type: string;
    }[];
    /**
     * Specify properties for up to three different e-mail addresses and three different fax addresses.
     */
    electronicAddresses: model.MapiContactElectronicAddressPropertySetDto;
    /**
     * Specify events associated with a contact.
     */
    events: model.MapiContactEventPropertySetDto;
    /**
     * The properties are used to specify the name of the person represented by the contact.
     */
    nameInfo: model.MapiContactNamePropertySetDto;
    /**
     * Specify other fields of contact.
     */
    otherFields: model.MapiContactOtherPropertySetDto;
    /**
     * Specify other additional contact information.
     */
    personalInfo: model.MapiContactPersonalInfoPropertySetDto;
    /**
     * Contact photo.
     */
    photo: model.MapiContactPhotoDto;
    /**
     * Specify three physical addresses: Home Address, Work Address, and Other Address. One of the addresses can be marked as the Mailing Address.
     */
    physicalAddresses: model.MapiContactPhysicalAddressPropertySetDto;
    /**
     * Properties are used to store professional details for the person represented by the contact.
     */
    professionalInfo: model.MapiContactProfessionalPropertySetDto;
    /**
     * Specify telephone numbers for the contact.
     */
    telephones: model.MapiContactTelephonePropertySetDto;
    /**
     * Represents outlook contact information.
     * @param attachments Message item attachments.
     * @param billing Billing information associated with an item.
     * @param body Message text.
     * @param bodyHtml Gets the BodyRtf of the message converted to HTML, if present, otherwise an empty string.
     * @param bodyRtf RTF formatted message text.
     * @param bodyType The content type of message body. Enum, available values: PlainText, Html, Rtf
     * @param categories Contains keywords or categories for the message object.
     * @param companies Contains the names of the companies that are associated with an item.
     * @param itemId The item id, uses with a server.
     * @param messageClass Case-sensitive string that identifies the sender-defined message class, such as IPM.Note. The message class specifies the type, purpose, or content of the message.
     * @param mileage Contains the mileage information that is associated with an item.
     * @param recipients Recipients of the message.
     * @param sensitivity Contains values that indicate the message sensitivity. Enum, available values: None, Personal, Private, CompanyConfidential
     * @param subject Subject of the message.
     * @param subjectPrefix Subject prefix that typically indicates some action on a message, such as \"FW: \" for forwarding.
     * @param properties List of MAPI properties
     * @param electronicAddresses Specify properties for up to three different e-mail addresses and three different fax addresses.
     * @param events Specify events associated with a contact.
     * @param nameInfo The properties are used to specify the name of the person represented by the contact.
     * @param otherFields Specify other fields of contact.
     * @param personalInfo Specify other additional contact information.
     * @param photo Contact photo.
     * @param physicalAddresses Specify three physical addresses: Home Address, Work Address, and Other Address. One of the addresses can be marked as the Mailing Address.
     * @param professionalInfo Properties are used to store professional details for the person represented by the contact.
     * @param telephones Specify telephone numbers for the contact.
     */
    constructor(attachments?: Array<model.MapiAttachmentDto>, billing?: string, body?: string, bodyHtml?: string, bodyRtf?: string, bodyType?: string, categories?: Array<string>, companies?: Array<string>, itemId?: string, messageClass?: string, mileage?: string, recipients?: Array<model.MapiRecipientDto>, sensitivity?: string, subject?: string, subjectPrefix?: string, properties?: Array<model.MapiPropertyDto>, electronicAddresses?: model.MapiContactElectronicAddressPropertySetDto, events?: model.MapiContactEventPropertySetDto, nameInfo?: model.MapiContactNamePropertySetDto, otherFields?: model.MapiContactOtherPropertySetDto, personalInfo?: model.MapiContactPersonalInfoPropertySetDto, photo?: model.MapiContactPhotoDto, physicalAddresses?: model.MapiContactPhysicalAddressPropertySetDto, professionalInfo?: model.MapiContactProfessionalPropertySetDto, telephones?: model.MapiContactTelephonePropertySetDto);
}
/**
 *  MapiContactDto model builder
 */
export declare class MapiContactDtoBuilder {
    private readonly model;
    constructor(model: MapiContactDto);
    /**
     * Build model.
     */
    build(): MapiContactDto;
    /**
    * Message item attachments.
    */
    attachments(attachments: Array<model.MapiAttachmentDto>): MapiContactDtoBuilder;
    /**
    * Billing information associated with an item.
    */
    billing(billing: string): MapiContactDtoBuilder;
    /**
    * Message text.
    */
    body(body: string): MapiContactDtoBuilder;
    /**
    * Gets the BodyRtf of the message converted to HTML, if present, otherwise an empty string.
    */
    bodyHtml(bodyHtml: string): MapiContactDtoBuilder;
    /**
    * RTF formatted message text.
    */
    bodyRtf(bodyRtf: string): MapiContactDtoBuilder;
    /**
    * The content type of message body. Enum, available values: PlainText, Html, Rtf
    */
    bodyType(bodyType: string): MapiContactDtoBuilder;
    /**
    * Contains keywords or categories for the message object.
    */
    categories(categories: Array<string>): MapiContactDtoBuilder;
    /**
    * Contains the names of the companies that are associated with an item.
    */
    companies(companies: Array<string>): MapiContactDtoBuilder;
    /**
    * The item id, uses with a server.
    */
    itemId(itemId: string): MapiContactDtoBuilder;
    /**
    * Case-sensitive string that identifies the sender-defined message class, such as IPM.Note. The message class specifies the type, purpose, or content of the message.
    */
    messageClass(messageClass: string): MapiContactDtoBuilder;
    /**
    * Contains the mileage information that is associated with an item.
    */
    mileage(mileage: string): MapiContactDtoBuilder;
    /**
    * Recipients of the message.
    */
    recipients(recipients: Array<model.MapiRecipientDto>): MapiContactDtoBuilder;
    /**
    * Contains values that indicate the message sensitivity. Enum, available values: None, Personal, Private, CompanyConfidential
    */
    sensitivity(sensitivity: string): MapiContactDtoBuilder;
    /**
    * Subject of the message.
    */
    subject(subject: string): MapiContactDtoBuilder;
    /**
    * Subject prefix that typically indicates some action on a message, such as \"FW: \" for forwarding.
    */
    subjectPrefix(subjectPrefix: string): MapiContactDtoBuilder;
    /**
    * List of MAPI properties
    */
    properties(properties: Array<model.MapiPropertyDto>): MapiContactDtoBuilder;
    /**
    * Specify properties for up to three different e-mail addresses and three different fax addresses.
    */
    electronicAddresses(electronicAddresses: model.MapiContactElectronicAddressPropertySetDto): MapiContactDtoBuilder;
    /**
    * Specify events associated with a contact.
    */
    events(events: model.MapiContactEventPropertySetDto): MapiContactDtoBuilder;
    /**
    * The properties are used to specify the name of the person represented by the contact.
    */
    nameInfo(nameInfo: model.MapiContactNamePropertySetDto): MapiContactDtoBuilder;
    /**
    * Specify other fields of contact.
    */
    otherFields(otherFields: model.MapiContactOtherPropertySetDto): MapiContactDtoBuilder;
    /**
    * Specify other additional contact information.
    */
    personalInfo(personalInfo: model.MapiContactPersonalInfoPropertySetDto): MapiContactDtoBuilder;
    /**
    * Contact photo.
    */
    photo(photo: model.MapiContactPhotoDto): MapiContactDtoBuilder;
    /**
    * Specify three physical addresses: Home Address, Work Address, and Other Address. One of the addresses can be marked as the Mailing Address.
    */
    physicalAddresses(physicalAddresses: model.MapiContactPhysicalAddressPropertySetDto): MapiContactDtoBuilder;
    /**
    * Properties are used to store professional details for the person represented by the contact.
    */
    professionalInfo(professionalInfo: model.MapiContactProfessionalPropertySetDto): MapiContactDtoBuilder;
    /**
    * Specify telephone numbers for the contact.
    */
    telephones(telephones: model.MapiContactTelephonePropertySetDto): MapiContactDtoBuilder;
}
