"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ChatMessageItemRequestBuilderUriTemplate = exports.ChatMessageItemRequestBuilderRequestsMetadata = exports.ChatMessageItemRequestBuilderNavigationMetadata = 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 hostedContents_1 = require("./hostedContents/");
const replies_1 = require("./replies/");
const setReaction_1 = require("./setReaction/");
const softDelete_1 = require("./softDelete/");
const undoSoftDelete_1 = require("./undoSoftDelete/");
const unsetReaction_1 = require("./unsetReaction/");
/**
 * Mapper for query parameters from symbol name to serialization name represented as a constant.
 */
const ChatMessageItemRequestBuilderGetQueryParametersMapper = {
    "expand": "%24expand",
    "select": "%24select",
};
/**
 * Metadata for all the navigation properties in the request builder.
 */
exports.ChatMessageItemRequestBuilderNavigationMetadata = {
    hostedContents: {
        uriTemplate: hostedContents_1.HostedContentsRequestBuilderUriTemplate,
        requestsMetadata: hostedContents_1.HostedContentsRequestBuilderRequestsMetadata,
        navigationMetadata: hostedContents_1.HostedContentsRequestBuilderNavigationMetadata,
    },
    replies: {
        uriTemplate: replies_1.RepliesRequestBuilderUriTemplate,
        requestsMetadata: replies_1.RepliesRequestBuilderRequestsMetadata,
        navigationMetadata: replies_1.RepliesRequestBuilderNavigationMetadata,
    },
    setReaction: {
        uriTemplate: setReaction_1.SetReactionRequestBuilderUriTemplate,
        requestsMetadata: setReaction_1.SetReactionRequestBuilderRequestsMetadata,
    },
    softDelete: {
        uriTemplate: softDelete_1.SoftDeleteRequestBuilderUriTemplate,
        requestsMetadata: softDelete_1.SoftDeleteRequestBuilderRequestsMetadata,
    },
    undoSoftDelete: {
        uriTemplate: undoSoftDelete_1.UndoSoftDeleteRequestBuilderUriTemplate,
        requestsMetadata: undoSoftDelete_1.UndoSoftDeleteRequestBuilderRequestsMetadata,
    },
    unsetReaction: {
        uriTemplate: unsetReaction_1.UnsetReactionRequestBuilderUriTemplate,
        requestsMetadata: unsetReaction_1.UnsetReactionRequestBuilderRequestsMetadata,
    },
};
/**
 * Metadata for all the requests in the request builder.
 */
exports.ChatMessageItemRequestBuilderRequestsMetadata = {
    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.createChatMessageFromDiscriminatorValue,
        queryParametersMapper: ChatMessageItemRequestBuilderGetQueryParametersMapper,
    },
    patch: {
        responseBodyContentType: "application/json",
        errorMappings: {
            _4XX: oDataErrors_1.createODataErrorFromDiscriminatorValue,
            _5XX: oDataErrors_1.createODataErrorFromDiscriminatorValue,
        },
        adapterMethodName: "sendAsync",
        responseBodyFactory: models_1.createChatMessageFromDiscriminatorValue,
        requestBodyContentType: "application/json",
        requestBodySerializer: models_1.serializeChatMessage,
        requestInformationContentSetMethod: "setContentFromParsable",
    },
};
/**
 * Uri template for the request builder.
 */
exports.ChatMessageItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/chats/{chat%2Did}/messages/{chatMessage%2Did}{?%24select,%24expand}";
/* tslint:enable */
/* eslint-enable */
