import { V1Category } from "../../Category";
/**
 * @openapi
 *  components:
 *      schemas:
 *          SearchQuestionsBody:
 *              type: object
 *              properties:
 *                  categories:
 *                      description: The categories to search for
 *                      type: array
 *                      items:
 *                          $ref: '#/components/schemas/Category'
 *                  order:
 *                      description: The order to sort the questions by, new questions are those that have been submitted most recently.
 *                      type: string
 *                      enum:
 *                          - new
 *                          - old
 *                  pageNumber:
 *                      description: The page number to return
 *                      type: number
 *                  perPage:
 *                      description: The number of questions to return per page
 *                      type: number
 *                  freetext:
 *                      description: Freetext value to search for withing question text
 *                      type: string
 *                  ids:
 *                      description: The ids of the questions to search for
 *                      type: array
 *                      items:
 *                          type: string
 *                  tags:
 *                      description: The tags to search for
 *                      type: array
 *                      items:
 *                          type: string
 *                  difficulties:
 *                      description: The difficulty to search for
 *                      type: array
 *                      items:
 *                          type: string
 *                          enum:
 *                              - easy
 *                              - medium
 *                              - hard
 *                  types:
 *                      description: The types to search for
 *                      type: array
 *                      items:
 *                          type: string
 *                  region:
 *                      description: The region to search for
 *                      type: string
 */
export interface SearchV1QuestionsBody {
    /**
     * The categories to search for
     */
    categories: V1Category[];
    /**
     * The order to sort the questions by, new questions are those
     * that have been submitted most recently.
     */
    order: "new" | "old";
    /**
     * The page number to return
     */
    pageNumber: number;
    /**
     * The number of questions to return per page
     */
    perPage: number;
    /**
     * Freetext value to search for withing question text
     */
    freetext?: string;
    /**
     * The ids of the questions to search for
     */
    ids?: string[];
    /**
     * The tags to search for
     */
    tags?: string[];
    /**
     * The difficulty to search for
     */
    difficulties?: ("easy" | "medium" | "hard")[];
    /**
     * The types to search for
     */
    types?: string[];
    /**
     * The region to search for
     */
    region?: string;
}
