export {};
export type EventType = "singleInstance" | "occurrence" | "seriesMaster" | "exception";
export type ShowAs = "busy" | "free" | "tentative" | "oof" | "workingelsewhere";
export interface CalendarEvent {
    id: string;
    subject: string;
    type: EventType;
    showAs: ShowAs;
    startDate: {
        value: string;
        timezone?: string;
    };
    endDate: {
        value: string;
        timezone?: string;
    };
}
declare class CalendarManager {
    private _events;
    private _id;
    private _to;
    private _email;
    constructor(id: string, to: string, email: string);
    get id(): string;
    set id(value: string);
    get to(): string;
    set to(value: string);
    get email(): any;
    set email(value: any);
    get events(): CalendarEvent[];
    /**
     * Add event to list
     * @param {Object} event - Object with data about event.
     */
    addEvent(event: CalendarEvent): void;
    /**
     * Supprime un événement par ID
     */
    removeEvent(id: any): void;
    /**
     * Retourne la liste des événements
     */
    listEvents(): CalendarEvent[];
    /**
     * Génère un IQ XML <events> conforme au XSD
     */
    /**
     * Échappe les caractères spéciaux XML
     */
    escapeXML(value: any): any;
}
export { CalendarManager };
