export * as events from './events';
import type { EndpointRequest, Operation } from './../../types/common.ts';
export interface IEndpoints {
    'GET /me/calendar': Operation<'/me/calendar', 'get'>;
    'PATCH /me/calendar': Operation<'/me/calendar', 'patch'>;
    'GET /me/calendar/calendarPermissions': Operation<'/me/calendar/calendarPermissions', 'get'>;
    'POST /me/calendar/calendarPermissions': Operation<'/me/calendar/calendarPermissions', 'post'>;
    'GET /me/calendar/calendarPermissions/{calendarPermission-id}': Operation<'/me/calendar/calendarPermissions/{calendarPermission-id}', 'get'>;
    'PATCH /me/calendar/calendarPermissions/{calendarPermission-id}': Operation<'/me/calendar/calendarPermissions/{calendarPermission-id}', 'patch'>;
    'DELETE /me/calendar/calendarPermissions/{calendarPermission-id}': Operation<'/me/calendar/calendarPermissions/{calendarPermission-id}', 'delete'>;
    'GET /me/calendar/calendarView': Operation<'/me/calendar/calendarView', 'get'>;
    'POST /me/calendar/getSchedule': Operation<'/me/calendar/getSchedule', 'post'>;
    'POST /me/calendar/permanentDelete': Operation<'/me/calendar/permanentDelete', 'post'>;
}
/**
  * `GET /me/calendar`
  *
  * Get the properties and relationships of a calendar object. The calendar can be one for a user,
or the default calendar of a Microsoft 365 group. There are two scenarios where an app can get another user&#x27;s calendar:
  */
export declare function get(params?: IEndpoints['GET /me/calendar']['parameters']): EndpointRequest<IEndpoints['GET /me/calendar']['response']>;
/**
  * `PATCH /me/calendar`
  *
  * Update the properties of a calendar object. The calendar can be one for a user,
or the default calendar of a Microsoft 365 group.
  */
export declare function update(body: IEndpoints['PATCH /me/calendar']['body']): EndpointRequest<IEndpoints['PATCH /me/calendar']['response']>;
export declare const calendarPermissions: {
    /**
     * `GET /me/calendar/calendarPermissions`
     *
     * The permissions of the users with whom the calendar is shared.
     */
    list: (params?: IEndpoints["GET /me/calendar/calendarPermissions"]["parameters"]) => EndpointRequest<IEndpoints["GET /me/calendar/calendarPermissions"]["response"]>;
    /**
     * `POST /me/calendar/calendarPermissions`
     *
     */
    create: (body: IEndpoints["POST /me/calendar/calendarPermissions"]["body"]) => EndpointRequest<IEndpoints["POST /me/calendar/calendarPermissions"]["response"]>;
    /**
     * `GET /me/calendar/calendarPermissions/{calendarPermission-id}`
     *
     * The permissions of the users with whom the calendar is shared.
     */
    get: (params?: IEndpoints["GET /me/calendar/calendarPermissions/{calendarPermission-id}"]["parameters"]) => EndpointRequest<IEndpoints["GET /me/calendar/calendarPermissions/{calendarPermission-id}"]["response"]>;
    /**
     * `PATCH /me/calendar/calendarPermissions/{calendarPermission-id}`
     *
     */
    update: (body: IEndpoints["PATCH /me/calendar/calendarPermissions/{calendarPermission-id}"]["body"], params?: IEndpoints["PATCH /me/calendar/calendarPermissions/{calendarPermission-id}"]["parameters"]) => EndpointRequest<IEndpoints["PATCH /me/calendar/calendarPermissions/{calendarPermission-id}"]["response"]>;
    /**
     * `DELETE /me/calendar/calendarPermissions/{calendarPermission-id}`
     *
     */
    del: (params?: IEndpoints["DELETE /me/calendar/calendarPermissions/{calendarPermission-id}"]["parameters"]) => EndpointRequest<IEndpoints["DELETE /me/calendar/calendarPermissions/{calendarPermission-id}"]["response"]>;
};
export declare const calendarView: {
    /**
    * `GET /me/calendar/calendarView`
    *
    * Get the occurrences, exceptions and single instances of events in a calendar view defined by a time range,
  from a user&#x27;s default calendar (../me/calendarView) or some other calendar of the user&#x27;s.
    */
    get: (params?: IEndpoints["GET /me/calendar/calendarView"]["parameters"]) => EndpointRequest<IEndpoints["GET /me/calendar/calendarView"]["response"]>;
};
export declare const getSchedule: {
    /**
     * `POST /me/calendar/getSchedule`
     *
     * Get the free/busy availability information for a collection of users, distributions lists, or resources (rooms or equipment) for a specified time period.
     */
    create: (body: IEndpoints["POST /me/calendar/getSchedule"]["body"]) => EndpointRequest<IEndpoints["POST /me/calendar/getSchedule"]["response"]>;
};
export declare const permanentDelete: {
    /**
     * `POST /me/calendar/permanentDelete`
     *
     * Permanently delete a calendar folder and the events that it contains and remove them from the mailbox. For more information about item retention, see Configure Deleted Item retention and Recoverable Items quotas.
     */
    create: () => EndpointRequest<IEndpoints["POST /me/calendar/permanentDelete"]["response"]>;
};
