/*
 * 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.
 */
import { SearchRequest as SearchRequestMapper, SuggestRequest as SuggestRequestMapper, IndexBatch as IndexBatchMapper, AutocompleteRequest as AutocompleteRequestMapper, } from "../models/mappers.js";
export const accept = {
    parameterPath: "accept",
    mapper: {
        defaultValue: "application/json",
        isConstant: true,
        serializedName: "Accept",
        type: {
            name: "String",
        },
    },
};
export const endpoint = {
    parameterPath: "endpoint",
    mapper: {
        serializedName: "endpoint",
        required: true,
        type: {
            name: "String",
        },
    },
    skipEncoding: true,
};
export const indexName = {
    parameterPath: "indexName",
    mapper: {
        serializedName: "indexName",
        required: true,
        type: {
            name: "String",
        },
    },
};
export const apiVersion = {
    parameterPath: "apiVersion",
    mapper: {
        serializedName: "api-version",
        required: true,
        type: {
            name: "String",
        },
    },
};
export const searchText = {
    parameterPath: ["options", "searchText"],
    mapper: {
        serializedName: "search",
        type: {
            name: "String",
        },
    },
};
export const includeTotalResultCount = {
    parameterPath: ["options", "searchOptions", "includeTotalResultCount"],
    mapper: {
        serializedName: "$count",
        type: {
            name: "Boolean",
        },
    },
};
export const facets = {
    parameterPath: ["options", "searchOptions", "facets"],
    mapper: {
        serializedName: "facet",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "Multi",
};
export const filter = {
    parameterPath: ["options", "searchOptions", "filter"],
    mapper: {
        serializedName: "$filter",
        type: {
            name: "String",
        },
    },
};
export const highlightFields = {
    parameterPath: ["options", "searchOptions", "highlightFields"],
    mapper: {
        serializedName: "highlight",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "CSV",
};
export const highlightPostTag = {
    parameterPath: ["options", "searchOptions", "highlightPostTag"],
    mapper: {
        serializedName: "highlightPostTag",
        type: {
            name: "String",
        },
    },
};
export const highlightPreTag = {
    parameterPath: ["options", "searchOptions", "highlightPreTag"],
    mapper: {
        serializedName: "highlightPreTag",
        type: {
            name: "String",
        },
    },
};
export const minimumCoverage = {
    parameterPath: ["options", "searchOptions", "minimumCoverage"],
    mapper: {
        serializedName: "minimumCoverage",
        type: {
            name: "Number",
        },
    },
};
export const orderBy = {
    parameterPath: ["options", "searchOptions", "orderBy"],
    mapper: {
        serializedName: "$orderby",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "CSV",
};
export const queryType = {
    parameterPath: ["options", "searchOptions", "queryType"],
    mapper: {
        serializedName: "queryType",
        type: {
            name: "Enum",
            allowedValues: ["simple", "full", "semantic"],
        },
    },
};
export const scoringParameters = {
    parameterPath: ["options", "searchOptions", "scoringParameters"],
    mapper: {
        serializedName: "scoringParameter",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "Multi",
};
export const scoringProfile = {
    parameterPath: ["options", "searchOptions", "scoringProfile"],
    mapper: {
        serializedName: "scoringProfile",
        type: {
            name: "String",
        },
    },
};
export const searchFields = {
    parameterPath: ["options", "searchOptions", "searchFields"],
    mapper: {
        serializedName: "searchFields",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "CSV",
};
export const searchMode = {
    parameterPath: ["options", "searchOptions", "searchMode"],
    mapper: {
        serializedName: "searchMode",
        type: {
            name: "Enum",
            allowedValues: ["any", "all"],
        },
    },
};
export const scoringStatistics = {
    parameterPath: ["options", "searchOptions", "scoringStatistics"],
    mapper: {
        serializedName: "scoringStatistics",
        type: {
            name: "Enum",
            allowedValues: ["local", "global"],
        },
    },
};
export const sessionId = {
    parameterPath: ["options", "searchOptions", "sessionId"],
    mapper: {
        serializedName: "sessionId",
        type: {
            name: "String",
        },
    },
};
export const select = {
    parameterPath: ["options", "searchOptions", "select"],
    mapper: {
        serializedName: "$select",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "CSV",
};
export const skip = {
    parameterPath: ["options", "searchOptions", "skip"],
    mapper: {
        serializedName: "$skip",
        type: {
            name: "Number",
        },
    },
};
export const top = {
    parameterPath: ["options", "searchOptions", "top"],
    mapper: {
        serializedName: "$top",
        type: {
            name: "Number",
        },
    },
};
export const semanticConfiguration = {
    parameterPath: ["options", "searchOptions", "semanticConfiguration"],
    mapper: {
        serializedName: "semanticConfiguration",
        type: {
            name: "String",
        },
    },
};
export const semanticErrorHandling = {
    parameterPath: ["options", "searchOptions", "semanticErrorHandling"],
    mapper: {
        serializedName: "semanticErrorHandling",
        type: {
            name: "String",
        },
    },
};
export const semanticMaxWaitInMilliseconds = {
    parameterPath: ["options", "searchOptions", "semanticMaxWaitInMilliseconds"],
    mapper: {
        constraints: {
            InclusiveMinimum: 700,
        },
        serializedName: "semanticMaxWaitInMilliseconds",
        type: {
            name: "Number",
        },
    },
};
export const answers = {
    parameterPath: ["options", "searchOptions", "answers"],
    mapper: {
        serializedName: "answers",
        type: {
            name: "String",
        },
    },
};
export const captions = {
    parameterPath: ["options", "searchOptions", "captions"],
    mapper: {
        serializedName: "captions",
        type: {
            name: "String",
        },
    },
};
export const semanticQuery = {
    parameterPath: ["options", "searchOptions", "semanticQuery"],
    mapper: {
        serializedName: "semanticQuery",
        type: {
            name: "String",
        },
    },
};
export const debug = {
    parameterPath: ["options", "searchOptions", "debug"],
    mapper: {
        serializedName: "debug",
        type: {
            name: "String",
        },
    },
};
export const contentType = {
    parameterPath: ["options", "contentType"],
    mapper: {
        defaultValue: "application/json",
        isConstant: true,
        serializedName: "Content-Type",
        type: {
            name: "String",
        },
    },
};
export const searchRequest = {
    parameterPath: "searchRequest",
    mapper: SearchRequestMapper,
};
export const key = {
    parameterPath: "key",
    mapper: {
        serializedName: "key",
        required: true,
        type: {
            name: "String",
        },
    },
};
export const selectedFields = {
    parameterPath: ["options", "selectedFields"],
    mapper: {
        serializedName: "$select",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "CSV",
};
export const searchText1 = {
    parameterPath: "searchText",
    mapper: {
        serializedName: "search",
        required: true,
        type: {
            name: "String",
        },
    },
};
export const suggesterName = {
    parameterPath: "suggesterName",
    mapper: {
        serializedName: "suggesterName",
        required: true,
        type: {
            name: "String",
        },
    },
};
export const filter1 = {
    parameterPath: ["options", "suggestOptions", "filter"],
    mapper: {
        serializedName: "$filter",
        type: {
            name: "String",
        },
    },
};
export const useFuzzyMatching = {
    parameterPath: ["options", "suggestOptions", "useFuzzyMatching"],
    mapper: {
        serializedName: "fuzzy",
        type: {
            name: "Boolean",
        },
    },
};
export const highlightPostTag1 = {
    parameterPath: ["options", "suggestOptions", "highlightPostTag"],
    mapper: {
        serializedName: "highlightPostTag",
        type: {
            name: "String",
        },
    },
};
export const highlightPreTag1 = {
    parameterPath: ["options", "suggestOptions", "highlightPreTag"],
    mapper: {
        serializedName: "highlightPreTag",
        type: {
            name: "String",
        },
    },
};
export const minimumCoverage1 = {
    parameterPath: ["options", "suggestOptions", "minimumCoverage"],
    mapper: {
        serializedName: "minimumCoverage",
        type: {
            name: "Number",
        },
    },
};
export const orderBy1 = {
    parameterPath: ["options", "suggestOptions", "orderBy"],
    mapper: {
        serializedName: "$orderby",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "CSV",
};
export const searchFields1 = {
    parameterPath: ["options", "suggestOptions", "searchFields"],
    mapper: {
        serializedName: "searchFields",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "CSV",
};
export const select1 = {
    parameterPath: ["options", "suggestOptions", "select"],
    mapper: {
        serializedName: "$select",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "CSV",
};
export const top1 = {
    parameterPath: ["options", "suggestOptions", "top"],
    mapper: {
        serializedName: "$top",
        type: {
            name: "Number",
        },
    },
};
export const suggestRequest = {
    parameterPath: "suggestRequest",
    mapper: SuggestRequestMapper,
};
export const batch = {
    parameterPath: "batch",
    mapper: IndexBatchMapper,
};
export const autocompleteMode = {
    parameterPath: ["options", "autocompleteOptions", "autocompleteMode"],
    mapper: {
        serializedName: "autocompleteMode",
        type: {
            name: "Enum",
            allowedValues: ["oneTerm", "twoTerms", "oneTermWithContext"],
        },
    },
};
export const filter2 = {
    parameterPath: ["options", "autocompleteOptions", "filter"],
    mapper: {
        serializedName: "$filter",
        type: {
            name: "String",
        },
    },
};
export const useFuzzyMatching1 = {
    parameterPath: ["options", "autocompleteOptions", "useFuzzyMatching"],
    mapper: {
        serializedName: "fuzzy",
        type: {
            name: "Boolean",
        },
    },
};
export const highlightPostTag2 = {
    parameterPath: ["options", "autocompleteOptions", "highlightPostTag"],
    mapper: {
        serializedName: "highlightPostTag",
        type: {
            name: "String",
        },
    },
};
export const highlightPreTag2 = {
    parameterPath: ["options", "autocompleteOptions", "highlightPreTag"],
    mapper: {
        serializedName: "highlightPreTag",
        type: {
            name: "String",
        },
    },
};
export const minimumCoverage2 = {
    parameterPath: ["options", "autocompleteOptions", "minimumCoverage"],
    mapper: {
        serializedName: "minimumCoverage",
        type: {
            name: "Number",
        },
    },
};
export const searchFields2 = {
    parameterPath: ["options", "autocompleteOptions", "searchFields"],
    mapper: {
        serializedName: "searchFields",
        type: {
            name: "Sequence",
            element: {
                type: {
                    name: "String",
                },
            },
        },
    },
    collectionFormat: "CSV",
};
export const top2 = {
    parameterPath: ["options", "autocompleteOptions", "top"],
    mapper: {
        serializedName: "$top",
        type: {
            name: "Number",
        },
    },
};
export const autocompleteRequest = {
    parameterPath: "autocompleteRequest",
    mapper: AutocompleteRequestMapper,
};
//# sourceMappingURL=parameters.js.map