"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ChatItemRequestBuilderUriTemplate = exports.ChatItemRequestBuilderRequestsMetadata = exports.ChatItemRequestBuilderNavigationMetadata = void 0;
/* tslint:disable */
/* eslint-disable */
// Generated by Microsoft Kiota
const models_1 = require("@microsoft/msgraph-beta-sdk/models/");
const oDataErrors_1 = require("@microsoft/msgraph-beta-sdk/models/oDataErrors/");
const hideForUser_1 = require("./hideForUser/");
const installedApps_1 = require("./installedApps/");
const lastMessagePreview_1 = require("./lastMessagePreview/");
const markChatReadForUser_1 = require("./markChatReadForUser/");
const markChatUnreadForUser_1 = require("./markChatUnreadForUser/");
const members_1 = require("./members/");
const messages_1 = require("./messages/");
const operations_1 = require("./operations/");
const permissionGrants_1 = require("./permissionGrants/");
const pinnedMessages_1 = require("./pinnedMessages/");
const removeAllAccessForUser_1 = require("./removeAllAccessForUser/");
const sendActivityNotification_1 = require("./sendActivityNotification/");
const tabs_1 = require("./tabs/");
const unhideForUser_1 = require("./unhideForUser/");
/**
 * Mapper for query parameters from symbol name to serialization name represented as a constant.
 */
const ChatItemRequestBuilderGetQueryParametersMapper = {
    "expand": "%24expand",
    "select": "%24select",
};
/**
 * Metadata for all the navigation properties in the request builder.
 */
exports.ChatItemRequestBuilderNavigationMetadata = {
    hideForUser: {
        uriTemplate: hideForUser_1.HideForUserRequestBuilderUriTemplate,
        requestsMetadata: hideForUser_1.HideForUserRequestBuilderRequestsMetadata,
    },
    installedApps: {
        uriTemplate: installedApps_1.InstalledAppsRequestBuilderUriTemplate,
        requestsMetadata: installedApps_1.InstalledAppsRequestBuilderRequestsMetadata,
        navigationMetadata: installedApps_1.InstalledAppsRequestBuilderNavigationMetadata,
    },
    lastMessagePreview: {
        uriTemplate: lastMessagePreview_1.LastMessagePreviewRequestBuilderUriTemplate,
        requestsMetadata: lastMessagePreview_1.LastMessagePreviewRequestBuilderRequestsMetadata,
    },
    markChatReadForUser: {
        uriTemplate: markChatReadForUser_1.MarkChatReadForUserRequestBuilderUriTemplate,
        requestsMetadata: markChatReadForUser_1.MarkChatReadForUserRequestBuilderRequestsMetadata,
    },
    markChatUnreadForUser: {
        uriTemplate: markChatUnreadForUser_1.MarkChatUnreadForUserRequestBuilderUriTemplate,
        requestsMetadata: markChatUnreadForUser_1.MarkChatUnreadForUserRequestBuilderRequestsMetadata,
    },
    members: {
        uriTemplate: members_1.MembersRequestBuilderUriTemplate,
        requestsMetadata: members_1.MembersRequestBuilderRequestsMetadata,
        navigationMetadata: members_1.MembersRequestBuilderNavigationMetadata,
    },
    messages: {
        uriTemplate: messages_1.MessagesRequestBuilderUriTemplate,
        requestsMetadata: messages_1.MessagesRequestBuilderRequestsMetadata,
        navigationMetadata: messages_1.MessagesRequestBuilderNavigationMetadata,
    },
    operations: {
        uriTemplate: operations_1.OperationsRequestBuilderUriTemplate,
        requestsMetadata: operations_1.OperationsRequestBuilderRequestsMetadata,
        navigationMetadata: operations_1.OperationsRequestBuilderNavigationMetadata,
    },
    permissionGrants: {
        uriTemplate: permissionGrants_1.PermissionGrantsRequestBuilderUriTemplate,
        requestsMetadata: permissionGrants_1.PermissionGrantsRequestBuilderRequestsMetadata,
        navigationMetadata: permissionGrants_1.PermissionGrantsRequestBuilderNavigationMetadata,
    },
    pinnedMessages: {
        uriTemplate: pinnedMessages_1.PinnedMessagesRequestBuilderUriTemplate,
        requestsMetadata: pinnedMessages_1.PinnedMessagesRequestBuilderRequestsMetadata,
        navigationMetadata: pinnedMessages_1.PinnedMessagesRequestBuilderNavigationMetadata,
    },
    removeAllAccessForUser: {
        uriTemplate: removeAllAccessForUser_1.RemoveAllAccessForUserRequestBuilderUriTemplate,
        requestsMetadata: removeAllAccessForUser_1.RemoveAllAccessForUserRequestBuilderRequestsMetadata,
    },
    sendActivityNotification: {
        uriTemplate: sendActivityNotification_1.SendActivityNotificationRequestBuilderUriTemplate,
        requestsMetadata: sendActivityNotification_1.SendActivityNotificationRequestBuilderRequestsMetadata,
    },
    tabs: {
        uriTemplate: tabs_1.TabsRequestBuilderUriTemplate,
        requestsMetadata: tabs_1.TabsRequestBuilderRequestsMetadata,
        navigationMetadata: tabs_1.TabsRequestBuilderNavigationMetadata,
    },
    unhideForUser: {
        uriTemplate: unhideForUser_1.UnhideForUserRequestBuilderUriTemplate,
        requestsMetadata: unhideForUser_1.UnhideForUserRequestBuilderRequestsMetadata,
    },
};
/**
 * Metadata for all the requests in the request builder.
 */
exports.ChatItemRequestBuilderRequestsMetadata = {
    delete: {
        responseBodyContentType: "application/json",
        errorMappings: {
            _4XX: oDataErrors_1.createODataErrorFromDiscriminatorValue,
            _5XX: oDataErrors_1.createODataErrorFromDiscriminatorValue,
        },
        adapterMethodName: "sendNoResponseContentAsync",
    },
    get: {
        responseBodyContentType: "application/json",
        errorMappings: {
            _4XX: oDataErrors_1.createODataErrorFromDiscriminatorValue,
            _5XX: oDataErrors_1.createODataErrorFromDiscriminatorValue,
        },
        adapterMethodName: "sendAsync",
        responseBodyFactory: models_1.createChatFromDiscriminatorValue,
        queryParametersMapper: ChatItemRequestBuilderGetQueryParametersMapper,
    },
    patch: {
        responseBodyContentType: "application/json",
        errorMappings: {
            _4XX: oDataErrors_1.createODataErrorFromDiscriminatorValue,
            _5XX: oDataErrors_1.createODataErrorFromDiscriminatorValue,
        },
        adapterMethodName: "sendAsync",
        responseBodyFactory: models_1.createChatFromDiscriminatorValue,
        requestBodyContentType: "application/json",
        requestBodySerializer: models_1.serializeChat,
        requestInformationContentSetMethod: "setContentFromParsable",
    },
};
/**
 * Uri template for the request builder.
 */
exports.ChatItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/chats/{chat%2Did}{?%24select,%24expand}";
/* tslint:enable */
/* eslint-enable */
