export * as attachments from './attachments';
import type { EndpointRequest, Operation } from './../../types/common.ts';
export interface IEndpoints {
    'DELETE /me/events/{event-id}': Operation<'/me/events/{event-id}', 'delete'>;
    'GET /me/events': Operation<'/me/events', 'get'>;
    'GET /me/events/{event-id}': Operation<'/me/events/{event-id}', 'get'>;
    'PATCH /me/events/{event-id}': Operation<'/me/events/{event-id}', 'patch'>;
    'POST /me/events': Operation<'/me/events', 'post'>;
    'POST /me/events/{event-id}/accept': Operation<'/me/events/{event-id}/accept', 'post'>;
    'GET /me/events/{event-id}/calendar': Operation<'/me/events/{event-id}/calendar', 'get'>;
    'POST /me/events/{event-id}/cancel': Operation<'/me/events/{event-id}/cancel', 'post'>;
    'POST /me/events/{event-id}/decline': Operation<'/me/events/{event-id}/decline', 'post'>;
    'POST /me/events/{event-id}/dismissReminder': Operation<'/me/events/{event-id}/dismissReminder', 'post'>;
    'GET /me/events/{event-id}/extensions': Operation<'/me/events/{event-id}/extensions', 'get'>;
    'POST /me/events/{event-id}/extensions': Operation<'/me/events/{event-id}/extensions', 'post'>;
    'GET /me/events/{event-id}/extensions/{extension-id}': Operation<'/me/events/{event-id}/extensions/{extension-id}', 'get'>;
    'PATCH /me/events/{event-id}/extensions/{extension-id}': Operation<'/me/events/{event-id}/extensions/{extension-id}', 'patch'>;
    'DELETE /me/events/{event-id}/extensions/{extension-id}': Operation<'/me/events/{event-id}/extensions/{extension-id}', 'delete'>;
    'POST /me/events/{event-id}/forward': Operation<'/me/events/{event-id}/forward', 'post'>;
    'GET /me/events/{event-id}/instances': Operation<'/me/events/{event-id}/instances', 'get'>;
    'POST /me/events/{event-id}/permanentDelete': Operation<'/me/events/{event-id}/permanentDelete', 'post'>;
    'POST /me/events/{event-id}/snoozeReminder': Operation<'/me/events/{event-id}/snoozeReminder', 'post'>;
    'POST /me/events/{event-id}/tentativelyAccept': Operation<'/me/events/{event-id}/tentativelyAccept', 'post'>;
}
/**
 * `DELETE /me/events/{event-id}`
 *
 * Removes the specified event from the containing calendar.  If the event is a meeting, deleting the event on the organizer&#x27;s calendar sends a cancellation message to the meeting attendees.
 */
export declare function del(params?: IEndpoints['DELETE /me/events/{event-id}']['parameters']): EndpointRequest<IEndpoints['DELETE /me/events/{event-id}']['response']>;
/**
  * `GET /me/events`
  *
  * Get a list of event objects from the user&#x27;s default calendar or
from a specified calendar. The list contains single instance meetings and series masters. To get expanded event instances, you can get the calendar view, or
get the instances of an event. There are two scenarios where an app can get events in another user&#x27;s calendar:
  */
export declare function list(params?: IEndpoints['GET /me/events']['parameters']): EndpointRequest<IEndpoints['GET /me/events']['response']>;
/**
 * `GET /me/events/{event-id}`
 *
 * Get the properties and relationships of the specified event object. An app can get an event in another user&#x27;s calendar if: Because the event resource supports extensions, you can also use the GET operation to get custom properties and extension data in an event instance.
 */
export declare function get(params?: IEndpoints['GET /me/events/{event-id}']['parameters']): EndpointRequest<IEndpoints['GET /me/events/{event-id}']['response']>;
/**
 * `PATCH /me/events/{event-id}`
 *
 * Update the properties of the event object.
 */
export declare function update(body: IEndpoints['PATCH /me/events/{event-id}']['body'], params?: IEndpoints['PATCH /me/events/{event-id}']['parameters']): EndpointRequest<IEndpoints['PATCH /me/events/{event-id}']['response']>;
/**
  * `POST /me/events`
  *
  * Create an event in the user&#x27;s default calendar or specified calendar. By default, the allowNewTimeProposals property is set to true when an event is created, which means invitees can propose a different date/time for the event. See Propose new meeting times for more information on how to propose a time, and how to receive and accept a new time proposal. You can specify the time zone for each of the start and end times of the event as part of their values, because the
start and end properties are of dateTimeTimeZone type. First find the supported time zones to make sure you set only time zones that have been configured for the user&#x27;s mailbox server. When an event is sent, the server sends invitations to all the attendees. Setting the location in an event An Exchange administrator can set up a mailbox and an email address for a resource such as a meeting room, or equipment
like a projector. Users can then invite the resource as an attendee to a meeting. On behalf of the resource, the server accepts or rejects
the meeting request based on the free/busy schedule of the resource.
If the server accepts a meeting for the resource, it creates an event for the meeting in the resource&#x27;s calendar. If the meeting is rescheduled,
the server automatically updates the event in the resource&#x27;s calendar. Another advantage of setting up a mailbox for a resource is to control scheduling of the resource, for example, only executives
or their delegates can book a private meeting room. If you&#x27;re organizing an event that involves a meeting location: Additionally, if the meeting location has been set up as a resource, or if the event involves some equipment that has been set up as a resource:
  */
export declare function create(body: IEndpoints['POST /me/events']['body']): EndpointRequest<IEndpoints['POST /me/events']['response']>;
export declare const accept: {
    /**
     * `POST /me/events/{event-id}/accept`
     *
     * Accept the specified event in a user calendar.
     */
    create: (body: IEndpoints["POST /me/events/{event-id}/accept"]["body"], params?: IEndpoints["POST /me/events/{event-id}/accept"]["parameters"]) => EndpointRequest<IEndpoints["POST /me/events/{event-id}/accept"]["response"]>;
};
export declare const calendar: {
    /**
     * `GET /me/events/{event-id}/calendar`
     *
     * The calendar that contains the event. Navigation property. Read-only.
     */
    get: (params?: IEndpoints["GET /me/events/{event-id}/calendar"]["parameters"]) => EndpointRequest<IEndpoints["GET /me/events/{event-id}/calendar"]["response"]>;
};
export declare const cancel: {
    /**
    * `POST /me/events/{event-id}/cancel`
    *
    * This action allows the organizer of a meeting to send a cancellation message and cancel the event.  The action moves the event to the Deleted Items folder. The organizer can also cancel an occurrence of a recurring meeting
  by providing the occurrence event ID. An attendee calling this action gets an error (HTTP 400 Bad Request), with the following
  error message: &#x27;Your request can&#x27;t be completed. You need to be an organizer to cancel a meeting.&#x27; This action differs from Delete in that Cancel is available to only the organizer, and lets
  the organizer send a custom message to the attendees about the cancellation.
    */
    create: (body: IEndpoints["POST /me/events/{event-id}/cancel"]["body"], params?: IEndpoints["POST /me/events/{event-id}/cancel"]["parameters"]) => EndpointRequest<IEndpoints["POST /me/events/{event-id}/cancel"]["response"]>;
};
export declare const decline: {
    /**
     * `POST /me/events/{event-id}/decline`
     *
     * Decline invitation to the specified event in a user calendar. If the event allows proposals for new times, on declining the event, an invitee can choose to suggest an alternative time by including the proposedNewTime parameter. For more information on how to propose a time, and how to receive and accept a new time proposal, see Propose new meeting times.
     */
    create: (body: IEndpoints["POST /me/events/{event-id}/decline"]["body"], params?: IEndpoints["POST /me/events/{event-id}/decline"]["parameters"]) => EndpointRequest<IEndpoints["POST /me/events/{event-id}/decline"]["response"]>;
};
export declare const dismissReminder: {
    /**
     * `POST /me/events/{event-id}/dismissReminder`
     *
     * Dismiss a reminder that has been triggered for an event in a user calendar.
     */
    create: (params?: IEndpoints["POST /me/events/{event-id}/dismissReminder"]["parameters"]) => EndpointRequest<IEndpoints["POST /me/events/{event-id}/dismissReminder"]["response"]>;
};
export declare const extensions: {
    /**
     * `GET /me/events/{event-id}/extensions`
     *
     * The collection of open extensions defined for the event. Nullable.
     */
    list: (params?: IEndpoints["GET /me/events/{event-id}/extensions"]["parameters"]) => EndpointRequest<IEndpoints["GET /me/events/{event-id}/extensions"]["response"]>;
    /**
     * `POST /me/events/{event-id}/extensions`
     *
     */
    create: (body: IEndpoints["POST /me/events/{event-id}/extensions"]["body"], params?: IEndpoints["POST /me/events/{event-id}/extensions"]["parameters"]) => EndpointRequest<IEndpoints["POST /me/events/{event-id}/extensions"]["response"]>;
    /**
     * `GET /me/events/{event-id}/extensions/{extension-id}`
     *
     * The collection of open extensions defined for the event. Nullable.
     */
    get: (params?: IEndpoints["GET /me/events/{event-id}/extensions/{extension-id}"]["parameters"]) => EndpointRequest<IEndpoints["GET /me/events/{event-id}/extensions/{extension-id}"]["response"]>;
    /**
     * `PATCH /me/events/{event-id}/extensions/{extension-id}`
     *
     */
    update: (body: IEndpoints["PATCH /me/events/{event-id}/extensions/{extension-id}"]["body"], params?: IEndpoints["PATCH /me/events/{event-id}/extensions/{extension-id}"]["parameters"]) => EndpointRequest<IEndpoints["PATCH /me/events/{event-id}/extensions/{extension-id}"]["response"]>;
    /**
     * `DELETE /me/events/{event-id}/extensions/{extension-id}`
     *
     */
    del: (params?: IEndpoints["DELETE /me/events/{event-id}/extensions/{extension-id}"]["parameters"]) => EndpointRequest<IEndpoints["DELETE /me/events/{event-id}/extensions/{extension-id}"]["response"]>;
};
export declare const forward: {
    /**
    * `POST /me/events/{event-id}/forward`
    *
    * This action allows the organizer or attendee of a meeting event to forward the
  meeting request to a new recipient. If the meeting event is forwarded from an attendee&#x27;s Microsoft 365 mailbox to another recipient, this action
  also sends a message to notify the organizer of the forwarding, and adds the recipient to the organizer&#x27;s
  copy of the meeting event. This convenience is not available when forwarding from an Outlook.com account.
    */
    create: (body: IEndpoints["POST /me/events/{event-id}/forward"]["body"], params?: IEndpoints["POST /me/events/{event-id}/forward"]["parameters"]) => EndpointRequest<IEndpoints["POST /me/events/{event-id}/forward"]["response"]>;
};
export declare const instances: {
    /**
    * `GET /me/events/{event-id}/instances`
    *
    * Get the instances (occurrences) of an event for a specified time range.  If the event is a seriesMaster type, this API returns the
  occurrences and exceptions of the event in the specified time range.
    */
    list: (params?: IEndpoints["GET /me/events/{event-id}/instances"]["parameters"]) => EndpointRequest<IEndpoints["GET /me/events/{event-id}/instances"]["response"]>;
};
export declare const permanentDelete: {
    /**
     * `POST /me/events/{event-id}/permanentDelete`
     *
     * Permanently delete an event and place it in the Purges folder in the dumpster in the user&#x27;s mailbox. Email clients such as Outlook or the Outlook on the web can&#x27;t access permanently deleted items. Unless there&#x27;s a hold set on the mailbox, the items are permanently deleted after a set period of time. For more information about item retention, see Configure Deleted Item retention and Recoverable Items quotas.
     */
    create: (params?: IEndpoints["POST /me/events/{event-id}/permanentDelete"]["parameters"]) => EndpointRequest<IEndpoints["POST /me/events/{event-id}/permanentDelete"]["response"]>;
};
export declare const snoozeReminder: {
    /**
     * `POST /me/events/{event-id}/snoozeReminder`
     *
     * Postpone a reminder for an event in a user calendar until a new time.
     */
    create: (body: IEndpoints["POST /me/events/{event-id}/snoozeReminder"]["body"], params?: IEndpoints["POST /me/events/{event-id}/snoozeReminder"]["parameters"]) => EndpointRequest<IEndpoints["POST /me/events/{event-id}/snoozeReminder"]["response"]>;
};
export declare const tentativelyAccept: {
    /**
     * `POST /me/events/{event-id}/tentativelyAccept`
     *
     * Tentatively accept the specified event in a user calendar. If the event allows proposals for new times, on responding tentative to the event, an invitee can choose to suggest an alternative time by including the proposedNewTime parameter. For more information on how to propose a time, and how to receive and accept a new time proposal, see Propose new meeting times.
     */
    create: (body: IEndpoints["POST /me/events/{event-id}/tentativelyAccept"]["body"], params?: IEndpoints["POST /me/events/{event-id}/tentativelyAccept"]["parameters"]) => EndpointRequest<IEndpoints["POST /me/events/{event-id}/tentativelyAccept"]["response"]>;
};
