import * as model from "./index";
/**
 * Document attachment.
 */
export declare class Attachment extends model.AttachmentBase {
    /**
     * Attribute type map
     */
    static attributeTypeMap: Array<{
        name: string;
        baseName: string;
        type: string;
    }>;
    /**
     * Returns attribute type map
     */
    static getAttributeTypeMap(): {
        name: string;
        baseName: string;
        type: string;
    }[];
    /**
     * Content-Disposition header. Read only.
     */
    contentDisposition: string;
    /**
     * Determines if attachment is an embedded message. Read only.
     */
    isEmbeddedMessage: boolean;
    /**
     * Attachment name.
     */
    name: string;
    /**
     * Encoding of attachment name.
     */
    nameEncoding: string;
    /**
     * Preferred text encoding.
     */
    preferredTextEncoding: string;
    /**
     * Document attachment.
     * @param base64Data Attachment file content as Base64 string.
     * @param contentId Attachment content id
     * @param contentType Content type
     * @param headers Attachment headers.
     * @param contentDisposition Content-Disposition header. Read only.
     * @param isEmbeddedMessage Determines if attachment is an embedded message. Read only.
     * @param name Attachment name.
     * @param nameEncoding Encoding of attachment name.
     * @param preferredTextEncoding Preferred text encoding.
     */
    constructor(base64Data?: string, contentId?: string, contentType?: model.ContentType, headers?: {
        [key: string]: string;
    }, contentDisposition?: string, isEmbeddedMessage?: boolean, name?: string, nameEncoding?: string, preferredTextEncoding?: string);
}
/**
 *  Attachment model builder
 */
export declare class AttachmentBuilder {
    private readonly model;
    constructor(model: Attachment);
    /**
     * Build model.
     */
    build(): Attachment;
    /**
    * Attachment file content as Base64 string.
    */
    base64Data(base64Data: string): AttachmentBuilder;
    /**
    * Attachment content id
    */
    contentId(contentId: string): AttachmentBuilder;
    /**
    * Content type
    */
    contentType(contentType: model.ContentType): AttachmentBuilder;
    /**
    * Attachment headers.
    */
    headers(headers: {
        [key: string]: string;
    }): AttachmentBuilder;
    /**
    * Content-Disposition header. Read only.
    */
    contentDisposition(contentDisposition: string): AttachmentBuilder;
    /**
    * Determines if attachment is an embedded message. Read only.
    */
    isEmbeddedMessage(isEmbeddedMessage: boolean): AttachmentBuilder;
    /**
    * Attachment name.
    */
    name(name: string): AttachmentBuilder;
    /**
    * Encoding of attachment name.
    */
    nameEncoding(nameEncoding: string): AttachmentBuilder;
    /**
    * Preferred text encoding.
    */
    preferredTextEncoding(preferredTextEncoding: string): AttachmentBuilder;
}
