"use strict";
/*
 * Copyright (c) Microsoft Corporation.
 * Licensed under the MIT License.
 *
 * Code generated by Microsoft (R) AutoRest Code Generator.
 * Changes may cause incorrect behavior and will be lost if the code is regenerated.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.useFuzzyMatching1 = exports.filter2 = exports.autocompleteMode = exports.batch = exports.suggestRequest = exports.top1 = exports.select1 = exports.searchFields1 = exports.orderBy1 = exports.minimumCoverage1 = exports.highlightPreTag1 = exports.highlightPostTag1 = exports.useFuzzyMatching = exports.filter1 = exports.suggesterName = exports.searchText1 = exports.selectedFields = exports.key = exports.searchRequest = exports.contentType = exports.debug = exports.semanticQuery = exports.captions = exports.answers = exports.semanticMaxWaitInMilliseconds = exports.semanticErrorHandling = exports.semanticConfiguration = exports.top = exports.skip = exports.select = exports.sessionId = exports.scoringStatistics = exports.searchMode = exports.searchFields = exports.scoringProfile = exports.scoringParameters = exports.queryType = exports.orderBy = exports.minimumCoverage = exports.highlightPreTag = exports.highlightPostTag = exports.highlightFields = exports.filter = exports.facets = exports.includeTotalResultCount = exports.searchText = exports.apiVersion = exports.indexName = exports.endpoint = exports.accept = void 0;
exports.autocompleteRequest = exports.top2 = exports.searchFields2 = exports.minimumCoverage2 = exports.highlightPreTag2 = exports.highlightPostTag2 = void 0;
const mappers_js_1 = require("../models/mappers.js");
exports.accept = {
    parameterPath: "accept",
    mapper: {
        defaultValue: "application/json",
        isConstant: true,
        serializedName: "Accept",
        type: {
            name: "String",
        },
    },
};
exports.endpoint = {
    parameterPath: "endpoint",
    mapper: {
        serializedName: "endpoint",
        required: true,
        type: {
            name: "String",
        },
    },
    skipEncoding: true,
};
exports.indexName = {
    parameterPath: "indexName",
    mapper: {
        serializedName: "indexName",
        required: true,
        type: {
            name: "String",
        },
    },
};
exports.apiVersion = {
    parameterPath: "apiVersion",
    mapper: {
        serializedName: "api-version",
        required: true,
        type: {
            name: "String",
        },
    },
};
exports.searchText = {
    parameterPath: ["options", "searchText"],
    mapper: {
        serializedName: "search",
        type: {
            name: "String",
        },
    },
};
exports.includeTotalResultCount = {
    parameterPath: ["options", "searchOptions", "includeTotalResultCount"],
    mapper: {
        serializedName: "$count",
        type: {
            name: "Boolean",
        },
    },
};
exports.facets = {
    parameterPath: ["options", "searchOptions", "facets"],
    mapper: {
        serializedName: "facet",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "Multi",
};
exports.filter = {
    parameterPath: ["options", "searchOptions", "filter"],
    mapper: {
        serializedName: "$filter",
        type: {
            name: "String",
        },
    },
};
exports.highlightFields = {
    parameterPath: ["options", "searchOptions", "highlightFields"],
    mapper: {
        serializedName: "highlight",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "CSV",
};
exports.highlightPostTag = {
    parameterPath: ["options", "searchOptions", "highlightPostTag"],
    mapper: {
        serializedName: "highlightPostTag",
        type: {
            name: "String",
        },
    },
};
exports.highlightPreTag = {
    parameterPath: ["options", "searchOptions", "highlightPreTag"],
    mapper: {
        serializedName: "highlightPreTag",
        type: {
            name: "String",
        },
    },
};
exports.minimumCoverage = {
    parameterPath: ["options", "searchOptions", "minimumCoverage"],
    mapper: {
        serializedName: "minimumCoverage",
        type: {
            name: "Number",
        },
    },
};
exports.orderBy = {
    parameterPath: ["options", "searchOptions", "orderBy"],
    mapper: {
        serializedName: "$orderby",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "CSV",
};
exports.queryType = {
    parameterPath: ["options", "searchOptions", "queryType"],
    mapper: {
        serializedName: "queryType",
        type: {
            name: "Enum",
            allowedValues: ["simple", "full", "semantic"],
        },
    },
};
exports.scoringParameters = {
    parameterPath: ["options", "searchOptions", "scoringParameters"],
    mapper: {
        serializedName: "scoringParameter",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "Multi",
};
exports.scoringProfile = {
    parameterPath: ["options", "searchOptions", "scoringProfile"],
    mapper: {
        serializedName: "scoringProfile",
        type: {
            name: "String",
        },
    },
};
exports.searchFields = {
    parameterPath: ["options", "searchOptions", "searchFields"],
    mapper: {
        serializedName: "searchFields",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "CSV",
};
exports.searchMode = {
    parameterPath: ["options", "searchOptions", "searchMode"],
    mapper: {
        serializedName: "searchMode",
        type: {
            name: "Enum",
            allowedValues: ["any", "all"],
        },
    },
};
exports.scoringStatistics = {
    parameterPath: ["options", "searchOptions", "scoringStatistics"],
    mapper: {
        serializedName: "scoringStatistics",
        type: {
            name: "Enum",
            allowedValues: ["local", "global"],
        },
    },
};
exports.sessionId = {
    parameterPath: ["options", "searchOptions", "sessionId"],
    mapper: {
        serializedName: "sessionId",
        type: {
            name: "String",
        },
    },
};
exports.select = {
    parameterPath: ["options", "searchOptions", "select"],
    mapper: {
        serializedName: "$select",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "CSV",
};
exports.skip = {
    parameterPath: ["options", "searchOptions", "skip"],
    mapper: {
        serializedName: "$skip",
        type: {
            name: "Number",
        },
    },
};
exports.top = {
    parameterPath: ["options", "searchOptions", "top"],
    mapper: {
        serializedName: "$top",
        type: {
            name: "Number",
        },
    },
};
exports.semanticConfiguration = {
    parameterPath: ["options", "searchOptions", "semanticConfiguration"],
    mapper: {
        serializedName: "semanticConfiguration",
        type: {
            name: "String",
        },
    },
};
exports.semanticErrorHandling = {
    parameterPath: ["options", "searchOptions", "semanticErrorHandling"],
    mapper: {
        serializedName: "semanticErrorHandling",
        type: {
            name: "String",
        },
    },
};
exports.semanticMaxWaitInMilliseconds = {
    parameterPath: ["options", "searchOptions", "semanticMaxWaitInMilliseconds"],
    mapper: {
        constraints: {
            InclusiveMinimum: 700,
        },
        serializedName: "semanticMaxWaitInMilliseconds",
        type: {
            name: "Number",
        },
    },
};
exports.answers = {
    parameterPath: ["options", "searchOptions", "answers"],
    mapper: {
        serializedName: "answers",
        type: {
            name: "String",
        },
    },
};
exports.captions = {
    parameterPath: ["options", "searchOptions", "captions"],
    mapper: {
        serializedName: "captions",
        type: {
            name: "String",
        },
    },
};
exports.semanticQuery = {
    parameterPath: ["options", "searchOptions", "semanticQuery"],
    mapper: {
        serializedName: "semanticQuery",
        type: {
            name: "String",
        },
    },
};
exports.debug = {
    parameterPath: ["options", "searchOptions", "debug"],
    mapper: {
        serializedName: "debug",
        type: {
            name: "String",
        },
    },
};
exports.contentType = {
    parameterPath: ["options", "contentType"],
    mapper: {
        defaultValue: "application/json",
        isConstant: true,
        serializedName: "Content-Type",
        type: {
            name: "String",
        },
    },
};
exports.searchRequest = {
    parameterPath: "searchRequest",
    mapper: mappers_js_1.SearchRequest,
};
exports.key = {
    parameterPath: "key",
    mapper: {
        serializedName: "key",
        required: true,
        type: {
            name: "String",
        },
    },
};
exports.selectedFields = {
    parameterPath: ["options", "selectedFields"],
    mapper: {
        serializedName: "$select",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "CSV",
};
exports.searchText1 = {
    parameterPath: "searchText",
    mapper: {
        serializedName: "search",
        required: true,
        type: {
            name: "String",
        },
    },
};
exports.suggesterName = {
    parameterPath: "suggesterName",
    mapper: {
        serializedName: "suggesterName",
        required: true,
        type: {
            name: "String",
        },
    },
};
exports.filter1 = {
    parameterPath: ["options", "suggestOptions", "filter"],
    mapper: {
        serializedName: "$filter",
        type: {
            name: "String",
        },
    },
};
exports.useFuzzyMatching = {
    parameterPath: ["options", "suggestOptions", "useFuzzyMatching"],
    mapper: {
        serializedName: "fuzzy",
        type: {
            name: "Boolean",
        },
    },
};
exports.highlightPostTag1 = {
    parameterPath: ["options", "suggestOptions", "highlightPostTag"],
    mapper: {
        serializedName: "highlightPostTag",
        type: {
            name: "String",
        },
    },
};
exports.highlightPreTag1 = {
    parameterPath: ["options", "suggestOptions", "highlightPreTag"],
    mapper: {
        serializedName: "highlightPreTag",
        type: {
            name: "String",
        },
    },
};
exports.minimumCoverage1 = {
    parameterPath: ["options", "suggestOptions", "minimumCoverage"],
    mapper: {
        serializedName: "minimumCoverage",
        type: {
            name: "Number",
        },
    },
};
exports.orderBy1 = {
    parameterPath: ["options", "suggestOptions", "orderBy"],
    mapper: {
        serializedName: "$orderby",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "CSV",
};
exports.searchFields1 = {
    parameterPath: ["options", "suggestOptions", "searchFields"],
    mapper: {
        serializedName: "searchFields",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "CSV",
};
exports.select1 = {
    parameterPath: ["options", "suggestOptions", "select"],
    mapper: {
        serializedName: "$select",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "CSV",
};
exports.top1 = {
    parameterPath: ["options", "suggestOptions", "top"],
    mapper: {
        serializedName: "$top",
        type: {
            name: "Number",
        },
    },
};
exports.suggestRequest = {
    parameterPath: "suggestRequest",
    mapper: mappers_js_1.SuggestRequest,
};
exports.batch = {
    parameterPath: "batch",
    mapper: mappers_js_1.IndexBatch,
};
exports.autocompleteMode = {
    parameterPath: ["options", "autocompleteOptions", "autocompleteMode"],
    mapper: {
        serializedName: "autocompleteMode",
        type: {
            name: "Enum",
            allowedValues: ["oneTerm", "twoTerms", "oneTermWithContext"],
        },
    },
};
exports.filter2 = {
    parameterPath: ["options", "autocompleteOptions", "filter"],
    mapper: {
        serializedName: "$filter",
        type: {
            name: "String",
        },
    },
};
exports.useFuzzyMatching1 = {
    parameterPath: ["options", "autocompleteOptions", "useFuzzyMatching"],
    mapper: {
        serializedName: "fuzzy",
        type: {
            name: "Boolean",
        },
    },
};
exports.highlightPostTag2 = {
    parameterPath: ["options", "autocompleteOptions", "highlightPostTag"],
    mapper: {
        serializedName: "highlightPostTag",
        type: {
            name: "String",
        },
    },
};
exports.highlightPreTag2 = {
    parameterPath: ["options", "autocompleteOptions", "highlightPreTag"],
    mapper: {
        serializedName: "highlightPreTag",
        type: {
            name: "String",
        },
    },
};
exports.minimumCoverage2 = {
    parameterPath: ["options", "autocompleteOptions", "minimumCoverage"],
    mapper: {
        serializedName: "minimumCoverage",
        type: {
            name: "Number",
        },
    },
};
exports.searchFields2 = {
    parameterPath: ["options", "autocompleteOptions", "searchFields"],
    mapper: {
        serializedName: "searchFields",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "CSV",
};
exports.top2 = {
    parameterPath: ["options", "autocompleteOptions", "top"],
    mapper: {
        serializedName: "$top",
        type: {
            name: "Number",
        },
    },
};
exports.autocompleteRequest = {
    parameterPath: "autocompleteRequest",
    mapper: mappers_js_1.AutocompleteRequest,
};
//# sourceMappingURL=parameters.js.map