import * as model from "./index";
/**
 * iCalendar document representation.
 */
export declare class CalendarDto {
    /**
     * Attribute type map
     */
    static attributeTypeMap: Array<{
        name: string;
        baseName: string;
        type: string;
    }>;
    /**
     * Returns attribute type map
     */
    static getAttributeTypeMap(): {
        name: string;
        baseName: string;
        type: string;
    }[];
    /**
     * Document attachments.
     */
    attachments: Array<model.Attachment>;
    /**
     * Event attendees.
     */
    attendees: Array<model.MailAddress>;
    /**
     * Description.
     */
    description: string;
    /**
     * End date.
     */
    endDate: Date;
    /**
     * End time zone.
     */
    endTimeZone: string;
    /**
     * Appointment flags. Items: Enumerates iCalendar flags. Enum, available values: None, AllDayEvent
     */
    flags: Array<string>;
    /**
     * Indicates if description is in HTML format.
     */
    isDescriptionHtml: boolean;
    /**
     * Location.
     */
    location: string;
    /**
     * Defines the iCalendar object method type associated with the calendar document. Enum, available values: None, Publish, Request, Reply, Add, Cancel, Refresh, Counter, DeclineCounter
     */
    method: string;
    /**
     * Specifies the BUSY status. Enum, available values: NotDefined, Free, Tentative, Busy, Oof
     */
    microsoftBusyStatus: string;
    /**
     * Specifies the INTENDED status. Enum, available values: NotDefined, Free, Tentative, Busy, Oof
     */
    microsoftIntendedStatus: string;
    /**
     * Optional attendees.
     */
    optionalAttendees: Array<model.MailAddress>;
    /**
     * Event organizer.
     */
    organizer: model.MailAddress;
    /**
     * Deprecated, use 'Recurrence' property. String representation of recurrence pattern (See iCalendar RFC, \"Recurrence rule\" section). For example:               For daily recurrence:         \"FREQ=DAILY;COUNT=10;WKST=MO\"                   For monthly recurrence:         \"BYSETPOS=1;BYDAY=MO,TU,WE,TH,FR;FREQ=MONTHLY;INTERVAL=10;WKST=MO\"                   For yearly recurrence:         \"BYMONTHDAY=30;BYMONTH=1;FREQ=YEARLY;WKST=MO\"
     */
    recurrenceString: string;
    /**
     * Recurrence pattern
     */
    recurrence: model.RecurrencePatternDto;
    /**
     * Reminders.
     */
    reminders: Array<model.CalendarReminder>;
    /**
     * The sequence id. Read only.
     */
    sequenceId: string;
    /**
     * Start date.
     */
    startDate: Date;
    /**
     * Start time zone.
     */
    startTimeZone: string;
    /**
     * Defines the overall status or confirmation for the calendar document. Enum, available values: NotDefined, Cancelled, Tentative, Confirmed
     */
    status: string;
    /**
     * Summary.
     */
    summary: string;
    /**
     * Specifies whether or not this appointment is intended to be visible in availability searches. Enum, available values: NotDefined, Transparent, Opaque
     */
    transparency: string;
    /**
     * Defines the access classification for the calendar. Enum, available values: Public, Private, Confidential, NotDefined
     */
    _class: string;
    /**
     * Specifies the importance of a calendar object. Enum, available values: Low, Normal, High, NotDefined
     */
    microsoftImportance: string;
    /**
     * iCalendar document representation.
     * @param attachments Document attachments.
     * @param attendees Event attendees.
     * @param description Description.
     * @param endDate End date.
     * @param endTimeZone End time zone.
     * @param flags Appointment flags.
     * @param isDescriptionHtml Indicates if description is in HTML format.
     * @param location Location.
     * @param method Defines the iCalendar object method type associated with the calendar document. Enum, available values: None, Publish, Request, Reply, Add, Cancel, Refresh, Counter, DeclineCounter
     * @param microsoftBusyStatus Specifies the BUSY status. Enum, available values: NotDefined, Free, Tentative, Busy, Oof
     * @param microsoftIntendedStatus Specifies the INTENDED status. Enum, available values: NotDefined, Free, Tentative, Busy, Oof
     * @param optionalAttendees Optional attendees.
     * @param organizer Event organizer.
     * @param recurrenceString Deprecated, use 'Recurrence' property. String representation of recurrence pattern (See iCalendar RFC, \"Recurrence rule\" section). For example:               For daily recurrence:         \"FREQ=DAILY;COUNT=10;WKST=MO\"                   For monthly recurrence:         \"BYSETPOS=1;BYDAY=MO,TU,WE,TH,FR;FREQ=MONTHLY;INTERVAL=10;WKST=MO\"                   For yearly recurrence:         \"BYMONTHDAY=30;BYMONTH=1;FREQ=YEARLY;WKST=MO\"
     * @param recurrence Recurrence pattern
     * @param reminders Reminders.
     * @param sequenceId The sequence id. Read only.
     * @param startDate Start date.
     * @param startTimeZone Start time zone.
     * @param status Defines the overall status or confirmation for the calendar document. Enum, available values: NotDefined, Cancelled, Tentative, Confirmed
     * @param summary Summary.
     * @param transparency Specifies whether or not this appointment is intended to be visible in availability searches. Enum, available values: NotDefined, Transparent, Opaque
     * @param _class Defines the access classification for the calendar. Enum, available values: Public, Private, Confidential, NotDefined
     * @param microsoftImportance Specifies the importance of a calendar object. Enum, available values: Low, Normal, High, NotDefined
     */
    constructor(attachments?: Array<model.Attachment>, attendees?: Array<model.MailAddress>, description?: string, endDate?: Date, endTimeZone?: string, flags?: Array<string>, isDescriptionHtml?: boolean, location?: string, method?: string, microsoftBusyStatus?: string, microsoftIntendedStatus?: string, optionalAttendees?: Array<model.MailAddress>, organizer?: model.MailAddress, recurrenceString?: string, recurrence?: model.RecurrencePatternDto, reminders?: Array<model.CalendarReminder>, sequenceId?: string, startDate?: Date, startTimeZone?: string, status?: string, summary?: string, transparency?: string, _class?: string, microsoftImportance?: string);
}
/**
 *  CalendarDto model builder
 */
export declare class CalendarDtoBuilder {
    private readonly model;
    constructor(model: CalendarDto);
    /**
     * Build model.
     */
    build(): CalendarDto;
    /**
    * Document attachments.
    */
    attachments(attachments: Array<model.Attachment>): CalendarDtoBuilder;
    /**
    * Event attendees.
    */
    attendees(attendees: Array<model.MailAddress>): CalendarDtoBuilder;
    /**
    * Description.
    */
    description(description: string): CalendarDtoBuilder;
    /**
    * End date.
    */
    endDate(endDate: Date): CalendarDtoBuilder;
    /**
    * End time zone.
    */
    endTimeZone(endTimeZone: string): CalendarDtoBuilder;
    /**
    * Appointment flags. Items: Enumerates iCalendar flags. Enum, available values: None, AllDayEvent
    */
    flags(flags: Array<string>): CalendarDtoBuilder;
    /**
    * Indicates if description is in HTML format.
    */
    isDescriptionHtml(isDescriptionHtml: boolean): CalendarDtoBuilder;
    /**
    * Location.
    */
    location(location: string): CalendarDtoBuilder;
    /**
    * Defines the iCalendar object method type associated with the calendar document. Enum, available values: None, Publish, Request, Reply, Add, Cancel, Refresh, Counter, DeclineCounter
    */
    method(method: string): CalendarDtoBuilder;
    /**
    * Specifies the BUSY status. Enum, available values: NotDefined, Free, Tentative, Busy, Oof
    */
    microsoftBusyStatus(microsoftBusyStatus: string): CalendarDtoBuilder;
    /**
    * Specifies the INTENDED status. Enum, available values: NotDefined, Free, Tentative, Busy, Oof
    */
    microsoftIntendedStatus(microsoftIntendedStatus: string): CalendarDtoBuilder;
    /**
    * Optional attendees.
    */
    optionalAttendees(optionalAttendees: Array<model.MailAddress>): CalendarDtoBuilder;
    /**
    * Event organizer.
    */
    organizer(organizer: model.MailAddress): CalendarDtoBuilder;
    /**
    * Deprecated, use 'Recurrence' property. String representation of recurrence pattern (See iCalendar RFC, \"Recurrence rule\" section). For example:               For daily recurrence:         \"FREQ=DAILY;COUNT=10;WKST=MO\"                   For monthly recurrence:         \"BYSETPOS=1;BYDAY=MO,TU,WE,TH,FR;FREQ=MONTHLY;INTERVAL=10;WKST=MO\"                   For yearly recurrence:         \"BYMONTHDAY=30;BYMONTH=1;FREQ=YEARLY;WKST=MO\"
    */
    recurrenceString(recurrenceString: string): CalendarDtoBuilder;
    /**
    * Recurrence pattern
    */
    recurrence(recurrence: model.RecurrencePatternDto): CalendarDtoBuilder;
    /**
    * Reminders.
    */
    reminders(reminders: Array<model.CalendarReminder>): CalendarDtoBuilder;
    /**
    * The sequence id. Read only.
    */
    sequenceId(sequenceId: string): CalendarDtoBuilder;
    /**
    * Start date.
    */
    startDate(startDate: Date): CalendarDtoBuilder;
    /**
    * Start time zone.
    */
    startTimeZone(startTimeZone: string): CalendarDtoBuilder;
    /**
    * Defines the overall status or confirmation for the calendar document. Enum, available values: NotDefined, Cancelled, Tentative, Confirmed
    */
    status(status: string): CalendarDtoBuilder;
    /**
    * Summary.
    */
    summary(summary: string): CalendarDtoBuilder;
    /**
    * Specifies whether or not this appointment is intended to be visible in availability searches. Enum, available values: NotDefined, Transparent, Opaque
    */
    transparency(transparency: string): CalendarDtoBuilder;
    /**
    * Defines the access classification for the calendar. Enum, available values: Public, Private, Confidential, NotDefined
    */
    _class(_class: string): CalendarDtoBuilder;
    /**
    * Specifies the importance of a calendar object. Enum, available values: Low, Normal, High, NotDefined
    */
    microsoftImportance(microsoftImportance: string): CalendarDtoBuilder;
}
