import { type Call } from '@microsoft/msgraph-sdk/models/index.js';
import { type AddLargeGalleryViewRequestBuilder } from './addLargeGalleryView/index.js';
import { type AnswerRequestBuilder } from './answer/index.js';
import { type AudioRoutingGroupsRequestBuilder } from './audioRoutingGroups/index.js';
import { type CancelMediaProcessingRequestBuilder } from './cancelMediaProcessing/index.js';
import { type ChangeScreenSharingRoleRequestBuilder } from './changeScreenSharingRole/index.js';
import { type ContentSharingSessionsRequestBuilder } from './contentSharingSessions/index.js';
import { type KeepAliveRequestBuilder } from './keepAlive/index.js';
import { type MuteRequestBuilder } from './mute/index.js';
import { type OperationsRequestBuilder } from './operations/index.js';
import { type ParticipantsRequestBuilder } from './participants/index.js';
import { type PlayPromptRequestBuilder } from './playPrompt/index.js';
import { type RecordResponseRequestBuilder } from './recordResponse/index.js';
import { type RedirectRequestBuilder } from './redirect/index.js';
import { type RejectRequestBuilder } from './reject/index.js';
import { type SendDtmfTonesRequestBuilder } from './sendDtmfTones/index.js';
import { type SubscribeToToneRequestBuilder } from './subscribeToTone/index.js';
import { type TransferRequestBuilder } from './transfer/index.js';
import { type UnmuteRequestBuilder } from './unmute/index.js';
import { type UpdateRecordingStatusRequestBuilder } from './updateRecordingStatus/index.js';
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type RequestConfiguration, type RequestInformation, type RequestsMetadata } from '@microsoft/kiota-abstractions';
/**
 * Provides operations to manage the calls property of the microsoft.graph.cloudCommunications entity.
 */
export interface CallItemRequestBuilder extends BaseRequestBuilder<CallItemRequestBuilder> {
    /**
     * Provides operations to call the addLargeGalleryView method.
     */
    get addLargeGalleryView(): AddLargeGalleryViewRequestBuilder;
    /**
     * Provides operations to call the answer method.
     */
    get answer(): AnswerRequestBuilder;
    /**
     * Provides operations to manage the audioRoutingGroups property of the microsoft.graph.call entity.
     */
    get audioRoutingGroups(): AudioRoutingGroupsRequestBuilder;
    /**
     * Provides operations to call the cancelMediaProcessing method.
     */
    get cancelMediaProcessing(): CancelMediaProcessingRequestBuilder;
    /**
     * Provides operations to call the changeScreenSharingRole method.
     */
    get changeScreenSharingRole(): ChangeScreenSharingRoleRequestBuilder;
    /**
     * Provides operations to manage the contentSharingSessions property of the microsoft.graph.call entity.
     */
    get contentSharingSessions(): ContentSharingSessionsRequestBuilder;
    /**
     * Provides operations to call the keepAlive method.
     */
    get keepAlive(): KeepAliveRequestBuilder;
    /**
     * Provides operations to call the mute method.
     */
    get mute(): MuteRequestBuilder;
    /**
     * Provides operations to manage the operations property of the microsoft.graph.call entity.
     */
    get operations(): OperationsRequestBuilder;
    /**
     * Provides operations to manage the participants property of the microsoft.graph.call entity.
     */
    get participants(): ParticipantsRequestBuilder;
    /**
     * Provides operations to call the playPrompt method.
     */
    get playPrompt(): PlayPromptRequestBuilder;
    /**
     * Provides operations to call the recordResponse method.
     */
    get recordResponse(): RecordResponseRequestBuilder;
    /**
     * Provides operations to call the redirect method.
     */
    get redirect(): RedirectRequestBuilder;
    /**
     * Provides operations to call the reject method.
     */
    get reject(): RejectRequestBuilder;
    /**
     * Provides operations to call the sendDtmfTones method.
     */
    get sendDtmfTones(): SendDtmfTonesRequestBuilder;
    /**
     * Provides operations to call the subscribeToTone method.
     */
    get subscribeToTone(): SubscribeToToneRequestBuilder;
    /**
     * Provides operations to call the transfer method.
     */
    get transfer(): TransferRequestBuilder;
    /**
     * Provides operations to call the unmute method.
     */
    get unmute(): UnmuteRequestBuilder;
    /**
     * Provides operations to call the updateRecordingStatus method.
     */
    get updateRecordingStatus(): UpdateRecordingStatusRequestBuilder;
    /**
     * Delete or hang up an active call. For group calls, this will only delete your call leg and the underlying group call will still continue.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     * @see {@link https://learn.microsoft.com/graph/api/call-delete?view=graph-rest-1.0|Find more info here}
     */
    delete(requestConfiguration?: RequestConfiguration<object> | undefined): Promise<void>;
    /**
     * Retrieve the properties and relationships of a call object.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<Call>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     * @see {@link https://learn.microsoft.com/graph/api/call-get?view=graph-rest-1.0|Find more info here}
     */
    get(requestConfiguration?: RequestConfiguration<CallItemRequestBuilderGetQueryParameters> | undefined): Promise<Call | undefined>;
    /**
     * Update the navigation property calls in communications
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<Call>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     */
    patch(body: Call, requestConfiguration?: RequestConfiguration<object> | undefined): Promise<Call | undefined>;
    /**
     * Delete or hang up an active call. For group calls, this will only delete your call leg and the underlying group call will still continue.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toDeleteRequestInformation(requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
    /**
     * Retrieve the properties and relationships of a call object.
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toGetRequestInformation(requestConfiguration?: RequestConfiguration<CallItemRequestBuilderGetQueryParameters> | undefined): RequestInformation;
    /**
     * Update the navigation property calls in communications
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toPatchRequestInformation(body: Call, requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
}
/**
 * Retrieve the properties and relationships of a call object.
 */
export interface CallItemRequestBuilderGetQueryParameters {
    /**
     * Expand related entities
     */
    expand?: string[];
    /**
     * Select properties to be returned
     */
    select?: string[];
}
/**
 * Uri template for the request builder.
 */
export declare const CallItemRequestBuilderUriTemplate = "{+baseurl}/communications/calls/{call%2Did}{?%24expand,%24select}";
/**
 * Metadata for all the navigation properties in the request builder.
 */
export declare const CallItemRequestBuilderNavigationMetadata: Record<Exclude<keyof CallItemRequestBuilder, KeysToExcludeForNavigationMetadata>, NavigationMetadata>;
/**
 * Metadata for all the requests in the request builder.
 */
export declare const CallItemRequestBuilderRequestsMetadata: RequestsMetadata;
//# sourceMappingURL=index.d.ts.map