"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MailFolderItemRequestBuilderUriTemplate = exports.MailFolderItemRequestBuilderRequestsMetadata = exports.MailFolderItemRequestBuilderNavigationMetadata = 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 copy_1 = require("./copy/");
const messageRules_1 = require("./messageRules/");
const messages_1 = require("./messages/");
const move_1 = require("./move/");
const userConfigurations_1 = require("./userConfigurations/");
/**
 * Mapper for query parameters from symbol name to serialization name represented as a constant.
 */
const MailFolderItemRequestBuilderGetQueryParametersMapper = {
    "expand": "%24expand",
    "select": "%24select",
};
/**
 * Metadata for all the navigation properties in the request builder.
 */
exports.MailFolderItemRequestBuilderNavigationMetadata = {
    copy: {
        uriTemplate: copy_1.CopyRequestBuilderUriTemplate,
        requestsMetadata: copy_1.CopyRequestBuilderRequestsMetadata,
    },
    messageRules: {
        uriTemplate: messageRules_1.MessageRulesRequestBuilderUriTemplate,
        requestsMetadata: messageRules_1.MessageRulesRequestBuilderRequestsMetadata,
        navigationMetadata: messageRules_1.MessageRulesRequestBuilderNavigationMetadata,
    },
    messages: {
        uriTemplate: messages_1.MessagesRequestBuilderUriTemplate,
        requestsMetadata: messages_1.MessagesRequestBuilderRequestsMetadata,
        navigationMetadata: messages_1.MessagesRequestBuilderNavigationMetadata,
    },
    move: {
        uriTemplate: move_1.MoveRequestBuilderUriTemplate,
        requestsMetadata: move_1.MoveRequestBuilderRequestsMetadata,
    },
    userConfigurations: {
        uriTemplate: userConfigurations_1.UserConfigurationsRequestBuilderUriTemplate,
        requestsMetadata: userConfigurations_1.UserConfigurationsRequestBuilderRequestsMetadata,
        navigationMetadata: userConfigurations_1.UserConfigurationsRequestBuilderNavigationMetadata,
    },
};
/**
 * Metadata for all the requests in the request builder.
 */
exports.MailFolderItemRequestBuilderRequestsMetadata = {
    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.createMailFolderFromDiscriminatorValue,
        queryParametersMapper: MailFolderItemRequestBuilderGetQueryParametersMapper,
    },
    patch: {
        responseBodyContentType: "application/json",
        errorMappings: {
            _4XX: oDataErrors_1.createODataErrorFromDiscriminatorValue,
            _5XX: oDataErrors_1.createODataErrorFromDiscriminatorValue,
        },
        adapterMethodName: "sendAsync",
        responseBodyFactory: models_1.createMailFolderFromDiscriminatorValue,
        requestBodyContentType: "application/json",
        requestBodySerializer: models_1.serializeMailFolder,
        requestInformationContentSetMethod: "setContentFromParsable",
    },
};
/**
 * Uri template for the request builder.
 */
exports.MailFolderItemRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/mailFolders/{mailFolder%2Did}/childFolders/{mailFolder%2Did1}{?includeHiddenFolders*,%24select,%24expand}";
/* tslint:enable */
/* eslint-enable */
