import { type Event } from '@microsoft/msgraph-beta-sdk/models/';
import { type AcceptRequestBuilder } from './accept/';
import { type AttachmentsRequestBuilder } from './attachments/';
import { type CalendarRequestBuilder } from './calendar/';
import { type CancelRequestBuilder } from './cancel/';
import { type DeclineRequestBuilder } from './decline/';
import { type DismissReminderRequestBuilder } from './dismissReminder/';
import { type ExceptionOccurrencesRequestBuilder } from './exceptionOccurrences/';
import { type ExtensionsRequestBuilder } from './extensions/';
import { type ForwardRequestBuilder } from './forward/';
import { type InstancesRequestBuilder } from './instances/';
import { type SnoozeReminderRequestBuilder } from './snoozeReminder/';
import { type TentativelyAcceptRequestBuilder } from './tentativelyAccept/';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';
/**
 * Provides operations to manage the events property of the microsoft.graph.user entity.
 */
export interface EventItemRequestBuilder extends BaseRequestBuilder<EventItemRequestBuilder> {
    /**
     * Provides operations to call the accept method.
     */
    get accept(): AcceptRequestBuilder;
    /**
     * Provides operations to manage the attachments property of the microsoft.graph.event entity.
     */
    get attachments(): AttachmentsRequestBuilder;
    /**
     * Provides operations to manage the calendar property of the microsoft.graph.event entity.
     */
    get calendar(): CalendarRequestBuilder;
    /**
     * Provides operations to call the cancel method.
     */
    get cancel(): CancelRequestBuilder;
    /**
     * Provides operations to call the decline method.
     */
    get decline(): DeclineRequestBuilder;
    /**
     * Provides operations to call the dismissReminder method.
     */
    get dismissReminder(): DismissReminderRequestBuilder;
    /**
     * Provides operations to manage the exceptionOccurrences property of the microsoft.graph.event entity.
     */
    get exceptionOccurrences(): ExceptionOccurrencesRequestBuilder;
    /**
     * Provides operations to manage the extensions property of the microsoft.graph.event entity.
     */
    get extensions(): ExtensionsRequestBuilder;
    /**
     * Provides operations to call the forward method.
     */
    get forward(): ForwardRequestBuilder;
    /**
     * Provides operations to manage the instances property of the microsoft.graph.event entity.
     */
    get instances(): InstancesRequestBuilder;
    /**
     * Provides operations to call the snoozeReminder method.
     */
    get snoozeReminder(): SnoozeReminderRequestBuilder;
    /**
     * Provides operations to call the tentativelyAccept method.
     */
    get tentativelyAccept(): TentativelyAcceptRequestBuilder;
    /**
     * Removes the specified event from the containing calendar.  If the event is a meeting, deleting the event on the organizer's calendar sends a cancellation message to the meeting attendees.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @see {@link https://learn.microsoft.com/graph/api/event-delete?view=graph-rest-1.0|Find more info here}
     */
    delete(requestConfiguration?: RequestConfiguration<object> | undefined): Promise<void>;
    /**
     * Get the properties and relationships of the specified event object. An app can get an event in another user'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.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns a Promise of Event
     * @see {@link https://learn.microsoft.com/graph/api/event-get?view=graph-rest-1.0|Find more info here}
     */
    get(requestConfiguration?: RequestConfiguration<EventItemRequestBuilderGetQueryParameters> | undefined): Promise<Event | undefined>;
    /**
     * Update the properties of the event object.
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns a Promise of Event
     * @see {@link https://learn.microsoft.com/graph/api/event-update?view=graph-rest-1.0|Find more info here}
     */
    patch(body: Event, requestConfiguration?: RequestConfiguration<object> | undefined): Promise<Event | undefined>;
    /**
     * Removes the specified event from the containing calendar.  If the event is a meeting, deleting the event on the organizer's calendar sends a cancellation message to the meeting attendees.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns a RequestInformation
     */
    toDeleteRequestInformation(requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
    /**
     * Get the properties and relationships of the specified event object. An app can get an event in another user'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.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns a RequestInformation
     */
    toGetRequestInformation(requestConfiguration?: RequestConfiguration<EventItemRequestBuilderGetQueryParameters> | undefined): RequestInformation;
    /**
     * Update the properties of the event object.
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns a RequestInformation
     */
    toPatchRequestInformation(body: Event, requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
}
/**
 * Get the properties and relationships of the specified event object. An app can get an event in another user'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 interface EventItemRequestBuilderGetQueryParameters {
    /**
     * Expand related entities
     */
    expand?: string[];
    /**
     * Select properties to be returned
     */
    select?: string[];
}
/**
 * Metadata for all the navigation properties in the request builder.
 */
export declare const EventItemRequestBuilderNavigationMetadata: Record<Exclude<keyof EventItemRequestBuilder, KeysToExcludeForNavigationMetadata>, NavigationMetadata>;
/**
 * Metadata for all the requests in the request builder.
 */
export declare const EventItemRequestBuilderRequestsMetadata: RequestsMetadata;
/**
 * Uri template for the request builder.
 */
export declare const EventItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/events/{event%2Did}{?%24select,%24expand}";
//# sourceMappingURL=index.d.ts.map