"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 });
// import { Aliases } from "../operationsInterfaces/index.js";
// import * as coreClient from "@azure/core-client";
// import * as Mappers from "../models/mappers.js";
// import * as Parameters from "../models/parameters.js";
// import { SearchServiceClient } from "../searchServiceClient.js";
// import {
//   SearchAlias,
//   AliasesCreateOptionalParams,
//   AliasesCreateResponse,
//   AliasesListOptionalParams,
//   AliasesListResponse,
//   AliasesCreateOrUpdateOptionalParams,
//   AliasesCreateOrUpdateResponse,
//   AliasesDeleteOptionalParams,
//   AliasesGetOptionalParams,
//   AliasesGetResponse,
// } from "../models/index.js";
// /** Class containing Aliases operations. */
// export class AliasesImpl implements Aliases {
//   private readonly client: SearchServiceClient;
//   /**
//    * Initialize a new instance of the class Aliases class.
//    * @param client Reference to the service client
//    */
//   constructor(client: SearchServiceClient) {
//     this.client = client;
//   }
//   /**
//    * Creates a new search alias.
//    * @param alias The definition of the alias to create.
//    * @param options The options parameters.
//    */
//   create(
//     alias: SearchAlias,
//     options?: AliasesCreateOptionalParams,
//   ): Promise<AliasesCreateResponse> {
//     return this.client.sendOperationRequest(
//       { alias, options },
//       createOperationSpec,
//     );
//   }
//   /**
//    * Lists all aliases available for a search service.
//    * @param options The options parameters.
//    */
//   list(options?: AliasesListOptionalParams): Promise<AliasesListResponse> {
//     return this.client.sendOperationRequest({ options }, listOperationSpec);
//   }
//   /**
//    * Creates a new search alias or updates an alias if it already exists.
//    * @param aliasName The definition of the alias to create or update.
//    * @param alias The definition of the alias to create or update.
//    * @param options The options parameters.
//    */
//   createOrUpdate(
//     aliasName: string,
//     alias: SearchAlias,
//     options?: AliasesCreateOrUpdateOptionalParams,
//   ): Promise<AliasesCreateOrUpdateResponse> {
//     return this.client.sendOperationRequest(
//       { aliasName, alias, options },
//       createOrUpdateOperationSpec,
//     );
//   }
//   /**
//    * Deletes a search alias and its associated mapping to an index. This operation is permanent, with no
//    * recovery option. The mapped index is untouched by this operation.
//    * @param aliasName The name of the alias to delete.
//    * @param options The options parameters.
//    */
//   delete(
//     aliasName: string,
//     options?: AliasesDeleteOptionalParams,
//   ): Promise<void> {
//     return this.client.sendOperationRequest(
//       { aliasName, options },
//       deleteOperationSpec,
//     );
//   }
//   /**
//    * Retrieves an alias definition.
//    * @param aliasName The name of the alias to retrieve.
//    * @param options The options parameters.
//    */
//   get(
//     aliasName: string,
//     options?: AliasesGetOptionalParams,
//   ): Promise<AliasesGetResponse> {
//     return this.client.sendOperationRequest(
//       { aliasName, options },
//       getOperationSpec,
//     );
//   }
// }
// // Operation Specifications
// const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
// const createOperationSpec: coreClient.OperationSpec = {
//   path: "/aliases",
//   httpMethod: "POST",
//   responses: {
//     201: {
//       bodyMapper: Mappers.SearchAlias,
//     },
//     default: {
//       bodyMapper: Mappers.ErrorResponse,
//     },
//   },
//   requestBody: Parameters.alias,
//   queryParameters: [Parameters.apiVersion],
//   urlParameters: [Parameters.endpoint],
//   headerParameters: [Parameters.contentType, Parameters.accept],
//   mediaType: "json",
//   serializer,
// };
// const listOperationSpec: coreClient.OperationSpec = {
//   path: "/aliases",
//   httpMethod: "GET",
//   responses: {
//     200: {
//       bodyMapper: Mappers.ListAliasesResult,
//     },
//     default: {
//       bodyMapper: Mappers.ErrorResponse,
//     },
//   },
//   queryParameters: [Parameters.apiVersion],
//   urlParameters: [Parameters.endpoint],
//   headerParameters: [Parameters.accept],
//   serializer,
// };
// const createOrUpdateOperationSpec: coreClient.OperationSpec = {
//   path: "/aliases('{aliasName}')",
//   httpMethod: "PUT",
//   responses: {
//     200: {
//       bodyMapper: Mappers.SearchAlias,
//     },
//     201: {
//       bodyMapper: Mappers.SearchAlias,
//     },
//     default: {
//       bodyMapper: Mappers.ErrorResponse,
//     },
//   },
//   requestBody: Parameters.alias,
//   queryParameters: [Parameters.apiVersion],
//   urlParameters: [Parameters.endpoint, Parameters.aliasName],
//   headerParameters: [
//     Parameters.contentType,
//     Parameters.accept,
//     Parameters.ifMatch,
//     Parameters.ifNoneMatch,
//     Parameters.prefer,
//   ],
//   mediaType: "json",
//   serializer,
// };
// const deleteOperationSpec: coreClient.OperationSpec = {
//   path: "/aliases('{aliasName}')",
//   httpMethod: "DELETE",
//   responses: {
//     204: {},
//     404: {},
//     default: {
//       bodyMapper: Mappers.ErrorResponse,
//     },
//   },
//   queryParameters: [Parameters.apiVersion],
//   urlParameters: [Parameters.endpoint, Parameters.aliasName],
//   headerParameters: [
//     Parameters.accept,
//     Parameters.ifMatch,
//     Parameters.ifNoneMatch,
//   ],
//   serializer,
// };
// const getOperationSpec: coreClient.OperationSpec = {
//   path: "/aliases('{aliasName}')",
//   httpMethod: "GET",
//   responses: {
//     200: {
//       bodyMapper: Mappers.SearchAlias,
//     },
//     default: {
//       bodyMapper: Mappers.ErrorResponse,
//     },
//   },
//   queryParameters: [Parameters.apiVersion],
//   urlParameters: [Parameters.endpoint, Parameters.aliasName],
//   headerParameters: [Parameters.accept],
//   serializer,
// };
//# sourceMappingURL=aliases.js.map