import * as model from "./index";
/**
 * Provides a grouping of component properties that define an alarm.
 */
export declare class CalendarReminder {
    /**
     * Attribute type map
     */
    static attributeTypeMap: Array<{
        name: string;
        baseName: string;
        type: string;
    }>;
    /**
     * Returns attribute type map
     */
    static getAttributeTypeMap(): {
        name: string;
        baseName: string;
        type: string;
    }[];
    /**
     * Defines the action to be invoked when an alarm is triggered. Enum, available values: Audio, Display, Email, Procedure, None
     */
    action: string;
    /**
     * Collection of Reminder Attachments. Could be an absolute URI or Base64 string representation of attachment content
     */
    attachments: Array<string>;
    /**
     * Contains collection of ReminderAttendee objects.
     */
    attendees: Array<model.ReminderAttendee>;
    /**
     * Provides a more complete description of the alarm.
     */
    description: string;
    /**
     * Specifies the delay period in ticks, after which the alarm will repeat.
     */
    duration: number;
    /**
     * Defines the number of time the alarm should be repeated, after the initial trigger.
     */
    repeat: number;
    /**
     * Defines a short summary or subject for the alarm.
     */
    summary: string;
    /**
     * Specifies when an alarm will trigger.
     */
    trigger: model.ReminderTrigger;
    /**
     * Provides a grouping of component properties that define an alarm.
     * @param action Defines the action to be invoked when an alarm is triggered. Enum, available values: Audio, Display, Email, Procedure, None
     * @param attachments Collection of Reminder Attachments. Could be an absolute URI or Base64 string representation of attachment content
     * @param attendees Contains collection of ReminderAttendee objects.
     * @param description Provides a more complete description of the alarm.
     * @param duration Specifies the delay period in ticks, after which the alarm will repeat.
     * @param repeat Defines the number of time the alarm should be repeated, after the initial trigger.
     * @param summary Defines a short summary or subject for the alarm.
     * @param trigger Specifies when an alarm will trigger.
     */
    constructor(action?: string, attachments?: Array<string>, attendees?: Array<model.ReminderAttendee>, description?: string, duration?: number, repeat?: number, summary?: string, trigger?: model.ReminderTrigger);
}
/**
 *  CalendarReminder model builder
 */
export declare class CalendarReminderBuilder {
    private readonly model;
    constructor(model: CalendarReminder);
    /**
     * Build model.
     */
    build(): CalendarReminder;
    /**
    * Defines the action to be invoked when an alarm is triggered. Enum, available values: Audio, Display, Email, Procedure, None
    */
    action(action: string): CalendarReminderBuilder;
    /**
    * Collection of Reminder Attachments. Could be an absolute URI or Base64 string representation of attachment content
    */
    attachments(attachments: Array<string>): CalendarReminderBuilder;
    /**
    * Contains collection of ReminderAttendee objects.
    */
    attendees(attendees: Array<model.ReminderAttendee>): CalendarReminderBuilder;
    /**
    * Provides a more complete description of the alarm.
    */
    description(description: string): CalendarReminderBuilder;
    /**
    * Specifies the delay period in ticks, after which the alarm will repeat.
    */
    duration(duration: number): CalendarReminderBuilder;
    /**
    * Defines the number of time the alarm should be repeated, after the initial trigger.
    */
    repeat(repeat: number): CalendarReminderBuilder;
    /**
    * Defines a short summary or subject for the alarm.
    */
    summary(summary: string): CalendarReminderBuilder;
    /**
    * Specifies when an alarm will trigger.
    */
    trigger(trigger: model.ReminderTrigger): CalendarReminderBuilder;
}
