/*
 * 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 * as msRest from "@azure/ms-rest-js";

export const descriptionExclude: msRest.OperationQueryParameter = {
  parameterPath: [
    "options",
    "descriptionExclude"
  ],
  mapper: {
    serializedName: "descriptionExclude",
    type: {
      name: "Sequence",
      element: {
        type: {
          name: "Enum",
          allowedValues: [
            "Celebrities",
            "Landmarks"
          ]
        }
      }
    }
  },
  collectionFormat: msRest.QueryCollectionFormat.Csv
};
export const details: msRest.OperationQueryParameter = {
  parameterPath: [
    "options",
    "details"
  ],
  mapper: {
    serializedName: "details",
    type: {
      name: "Sequence",
      element: {
        type: {
          name: "Enum",
          allowedValues: [
            "Celebrities",
            "Landmarks"
          ]
        }
      }
    }
  },
  collectionFormat: msRest.QueryCollectionFormat.Csv
};
export const detectOrientation: msRest.OperationQueryParameter = {
  parameterPath: "detectOrientation",
  mapper: {
    required: true,
    serializedName: "detectOrientation",
    defaultValue: true,
    type: {
      name: "Boolean"
    }
  }
};
export const endpoint: msRest.OperationURLParameter = {
  parameterPath: "endpoint",
  mapper: {
    required: true,
    serializedName: "Endpoint",
    defaultValue: '',
    type: {
      name: "String"
    }
  },
  skipEncoding: true
};
export const height: msRest.OperationQueryParameter = {
  parameterPath: "height",
  mapper: {
    required: true,
    serializedName: "height",
    constraints: {
      InclusiveMaximum: 1024,
      InclusiveMinimum: 1
    },
    type: {
      name: "Number"
    }
  }
};
export const language0: msRest.OperationQueryParameter = {
  parameterPath: [
    "options",
    "language"
  ],
  mapper: {
    serializedName: "language",
    defaultValue: 'en',
    type: {
      name: "String"
    }
  }
};
export const language1: msRest.OperationQueryParameter = {
  parameterPath: [
    "options",
    "language"
  ],
  mapper: {
    serializedName: "language",
    defaultValue: 'unk',
    type: {
      name: "Enum",
      allowedValues: [
        "unk",
        "zh-Hans",
        "zh-Hant",
        "cs",
        "da",
        "nl",
        "en",
        "fi",
        "fr",
        "de",
        "el",
        "hu",
        "it",
        "ja",
        "ko",
        "nb",
        "pl",
        "pt",
        "ru",
        "es",
        "sv",
        "tr",
        "ar",
        "ro",
        "sr-Cyrl",
        "sr-Latn",
        "sk"
      ]
    }
  }
};
export const language2: msRest.OperationQueryParameter = {
  parameterPath: [
    "options",
    "language"
  ],
  mapper: {
    serializedName: "language",
    type: {
      name: "String"
    }
  }
};
export const maxCandidates: msRest.OperationQueryParameter = {
  parameterPath: [
    "options",
    "maxCandidates"
  ],
  mapper: {
    serializedName: "maxCandidates",
    defaultValue: 1,
    type: {
      name: "Number"
    }
  }
};
export const model: msRest.OperationURLParameter = {
  parameterPath: "model",
  mapper: {
    required: true,
    serializedName: "model",
    type: {
      name: "String"
    }
  }
};
export const modelVersion: msRest.OperationQueryParameter = {
  parameterPath: [
    "options",
    "modelVersion"
  ],
  mapper: {
    serializedName: "model-version",
    defaultValue: 'latest',
    constraints: {
      Pattern: /^(latest|\d{4}-\d{2}-\d{2})(-preview)?$/
    },
    type: {
      name: "String"
    }
  }
};
export const operationId: msRest.OperationURLParameter = {
  parameterPath: "operationId",
  mapper: {
    required: true,
    serializedName: "operationId",
    type: {
      name: "Uuid"
    }
  }
};
export const pages: msRest.OperationQueryParameter = {
  parameterPath: [
    "options",
    "pages"
  ],
  mapper: {
    serializedName: "pages",
    type: {
      name: "Sequence",
      element: {
        type: {
          name: "String"
        }
      }
    }
  },
  collectionFormat: msRest.QueryCollectionFormat.Csv
};
export const readingOrder: msRest.OperationQueryParameter = {
  parameterPath: [
    "options",
    "readingOrder"
  ],
  mapper: {
    serializedName: "readingOrder",
    defaultValue: 'basic',
    type: {
      name: "String"
    }
  }
};
export const smartCropping: msRest.OperationQueryParameter = {
  parameterPath: [
    "options",
    "smartCropping"
  ],
  mapper: {
    serializedName: "smartCropping",
    defaultValue: false,
    type: {
      name: "Boolean"
    }
  }
};
export const visualFeatures: msRest.OperationQueryParameter = {
  parameterPath: [
    "options",
    "visualFeatures"
  ],
  mapper: {
    serializedName: "visualFeatures",
    type: {
      name: "Sequence",
      element: {
        type: {
          name: "Enum",
          allowedValues: [
            "ImageType",
            "Faces",
            "Adult",
            "Categories",
            "Color",
            "Tags",
            "Description",
            "Objects",
            "Brands"
          ]
        }
      }
    }
  },
  collectionFormat: msRest.QueryCollectionFormat.Csv
};
export const width: msRest.OperationQueryParameter = {
  parameterPath: "width",
  mapper: {
    required: true,
    serializedName: "width",
    constraints: {
      InclusiveMaximum: 1024,
      InclusiveMinimum: 1
    },
    type: {
      name: "Number"
    }
  }
};
