import * as model from "./index";
/**
 * Mapi recurrence pattern.
 */
export declare class MapiCalendarRecurrencePatternDto {
    /**
     * Attribute type map
     */
    static attributeTypeMap: Array<{
        name: string;
        baseName: string;
        type: string;
    }>;
    /**
     * Returns attribute type map
     */
    static getAttributeTypeMap(): {
        name: string;
        baseName: string;
        type: string;
    }[];
    /**
     * Enumerated the calendar type of the mapi recurrence. Enum, available values: Default, CalGregorian, CalGregorianUs, CalJapan, CalTaiwan, CalKorea, CalHijri, CalThai, CalHebrew, CalGregorianMeFrench, CalGregorianArabic, CalGregorianXLitEnglish, CalGregorianXLitFrench, CalLunarJapanese, CalChineseLunar, CalSaka, CalLunarEtoChn, CalLunarEtoKor, CalLunarRokuyou, CalLunarKorean, CalUmAlQura
     */
    calendarType: string;
    /**
     * An array of dates, each of which is the original instance date of either a deleted instance or a modified instance for this recurrence.
     */
    deletedInstanceDates: Array<Date>;
    /**
     * End date of an item recurrence pattern.
     */
    endDate: Date;
    /**
     * Enumerates the ending type for the recurrence. Enum, available values: None, EndAfterDate, EndAfterNOccurrences, NeverEnd
     */
    endType: string;
    /**
     * An exception specifies changes to an instance of a recurring series.
     */
    exceptions: Array<model.MapiCalendarExceptionInfoDto>;
    /**
     * Enumerates mapi calendar recurrence frequency. Enum, available values: None, Daily, Weekly, Monthly, Yearly
     */
    frequency: string;
    /**
     * An array of dates, each of which is the date of a modified instance.
     */
    modifiedInstanceDates: Array<Date>;
    /**
     * Number of occurrences in a recurrence.
     */
    occurrenceCount: number;
    /**
     * Enumerates the mapi calendar recurrence pattern types. Enum, available values: Day, Week, Month, MonthEnd, MonthNth, HjMonth, HjMonthNth, HjMonthEnd
     */
    patternType: string;
    /**
     * Interval at which the meeting pattern repeats.
     */
    period: number;
    /**
     * Defines whether pattern is sliding or not.
     */
    slidingFlag: boolean;
    /**
     * Start date of an item recurrence pattern.
     */
    startDate: Date;
    /**
     * Day of week. Enum, available values: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
     */
    weekStartDay: string;
    /**
     * Model type discriminator. Used for serialization purposes. Field is set automatically by SDK.
     */
    get discriminator(): string;
    set discriminator(_newType: string);
    /**
     * Mapi recurrence pattern.
     * @param calendarType Enumerated the calendar type of the mapi recurrence. Enum, available values: Default, CalGregorian, CalGregorianUs, CalJapan, CalTaiwan, CalKorea, CalHijri, CalThai, CalHebrew, CalGregorianMeFrench, CalGregorianArabic, CalGregorianXLitEnglish, CalGregorianXLitFrench, CalLunarJapanese, CalChineseLunar, CalSaka, CalLunarEtoChn, CalLunarEtoKor, CalLunarRokuyou, CalLunarKorean, CalUmAlQura
     * @param deletedInstanceDates An array of dates, each of which is the original instance date of either a deleted instance or a modified instance for this recurrence.
     * @param endDate End date of an item recurrence pattern.
     * @param endType Enumerates the ending type for the recurrence. Enum, available values: None, EndAfterDate, EndAfterNOccurrences, NeverEnd
     * @param exceptions An exception specifies changes to an instance of a recurring series.
     * @param frequency Enumerates mapi calendar recurrence frequency. Enum, available values: None, Daily, Weekly, Monthly, Yearly
     * @param modifiedInstanceDates An array of dates, each of which is the date of a modified instance.
     * @param occurrenceCount Number of occurrences in a recurrence.
     * @param patternType Enumerates the mapi calendar recurrence pattern types. Enum, available values: Day, Week, Month, MonthEnd, MonthNth, HjMonth, HjMonthNth, HjMonthEnd
     * @param period Interval at which the meeting pattern repeats.
     * @param slidingFlag Defines whether pattern is sliding or not.
     * @param startDate Start date of an item recurrence pattern.
     * @param weekStartDay Day of week. Enum, available values: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
     */
    constructor(calendarType?: string, deletedInstanceDates?: Array<Date>, endDate?: Date, endType?: string, exceptions?: Array<model.MapiCalendarExceptionInfoDto>, frequency?: string, modifiedInstanceDates?: Array<Date>, occurrenceCount?: number, patternType?: string, period?: number, slidingFlag?: boolean, startDate?: Date, weekStartDay?: string);
}
/**
 *  MapiCalendarRecurrencePatternDto model builder
 */
export declare class MapiCalendarRecurrencePatternDtoBuilder {
    private readonly model;
    constructor(model: MapiCalendarRecurrencePatternDto);
    /**
     * Build model.
     */
    build(): MapiCalendarRecurrencePatternDto;
    /**
    * Enumerated the calendar type of the mapi recurrence. Enum, available values: Default, CalGregorian, CalGregorianUs, CalJapan, CalTaiwan, CalKorea, CalHijri, CalThai, CalHebrew, CalGregorianMeFrench, CalGregorianArabic, CalGregorianXLitEnglish, CalGregorianXLitFrench, CalLunarJapanese, CalChineseLunar, CalSaka, CalLunarEtoChn, CalLunarEtoKor, CalLunarRokuyou, CalLunarKorean, CalUmAlQura
    */
    calendarType(calendarType: string): MapiCalendarRecurrencePatternDtoBuilder;
    /**
    * An array of dates, each of which is the original instance date of either a deleted instance or a modified instance for this recurrence.
    */
    deletedInstanceDates(deletedInstanceDates: Array<Date>): MapiCalendarRecurrencePatternDtoBuilder;
    /**
    * End date of an item recurrence pattern.
    */
    endDate(endDate: Date): MapiCalendarRecurrencePatternDtoBuilder;
    /**
    * Enumerates the ending type for the recurrence. Enum, available values: None, EndAfterDate, EndAfterNOccurrences, NeverEnd
    */
    endType(endType: string): MapiCalendarRecurrencePatternDtoBuilder;
    /**
    * An exception specifies changes to an instance of a recurring series.
    */
    exceptions(exceptions: Array<model.MapiCalendarExceptionInfoDto>): MapiCalendarRecurrencePatternDtoBuilder;
    /**
    * Enumerates mapi calendar recurrence frequency. Enum, available values: None, Daily, Weekly, Monthly, Yearly
    */
    frequency(frequency: string): MapiCalendarRecurrencePatternDtoBuilder;
    /**
    * An array of dates, each of which is the date of a modified instance.
    */
    modifiedInstanceDates(modifiedInstanceDates: Array<Date>): MapiCalendarRecurrencePatternDtoBuilder;
    /**
    * Number of occurrences in a recurrence.
    */
    occurrenceCount(occurrenceCount: number): MapiCalendarRecurrencePatternDtoBuilder;
    /**
    * Enumerates the mapi calendar recurrence pattern types. Enum, available values: Day, Week, Month, MonthEnd, MonthNth, HjMonth, HjMonthNth, HjMonthEnd
    */
    patternType(patternType: string): MapiCalendarRecurrencePatternDtoBuilder;
    /**
    * Interval at which the meeting pattern repeats.
    */
    period(period: number): MapiCalendarRecurrencePatternDtoBuilder;
    /**
    * Defines whether pattern is sliding or not.
    */
    slidingFlag(slidingFlag: boolean): MapiCalendarRecurrencePatternDtoBuilder;
    /**
    * Start date of an item recurrence pattern.
    */
    startDate(startDate: Date): MapiCalendarRecurrencePatternDtoBuilder;
    /**
    * Day of week. Enum, available values: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
    */
    weekStartDay(weekStartDay: string): MapiCalendarRecurrencePatternDtoBuilder;
}
