/**
 * This file was auto-generated by openapi-typescript.
 * Do not make direct changes to the file.
 */

interface paths {
  '/missingRequest/{reportId}/{variantId}': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    get?: never
    put?: never
    /** @description Submit a request for a missing report */
    post: operations['requestMissing']
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/user/caseload/active': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /** @description Gets a user's active caseloads */
    get: operations['definitions']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/reports/{reportId}/{reportVariantId}': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /** @description Returns the dataset for the given report ID and report variant ID filtered by the filters provided in the query. */
    get: operations['configuredApiDataset']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/reports/{reportId}/{reportVariantId}/tables/{tableId}/result': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /** @description Returns the resulting rows of the executed statement in a paginated fashion which has been stored in a dedicated table. */
    get: operations['getQueryExecutionResult']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/reports/{reportId}/{reportVariantId}/tables/{tableId}/result/summary/{summaryId}': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /** @description Returns a summary of a request, which has been stored in a dedicated table. */
    get: operations['getSummaryQueryExecutionResult']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/reports/{reportId}/{reportVariantId}/tables/{tableId}/download': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /** @description Streams the entire result set of the async query execution as a csv file. */
    get: operations['downloadCsv']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/reports/{reportId}/{reportVariantId}/tables/{tableId}/count': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /** @description Returns the number of rows of the table which contains the result of a previously executed query. Allows filtering and it is aimed at supporting the interactive journey. */
    get: operations['getInteractiveExternalTableRowCount']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/reports/{reportId}/{reportVariantId}/statements/{statementId}/status': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /**
     * @description Returns the status of the statement execution based on the statement ID provided.The following status values can be returned:
     *     ABORTED - The query run was stopped by the user.
     *     ALL - A status value that includes all query statuses. This value can be used to filter results.
     *     FAILED - The query run failed.
     *     FINISHED - The query has finished running.
     *     PICKED - The query has been chosen to be run.
     *     STARTED - The query run has started.
     *     SUBMITTED - The query was submitted, but not yet processed.
     *     Note: When the status is FAILED the error field of the response will be populated.ResultRows is the number of rows returned from the SQL statement. A -1 indicates the value is null.ResultSize is the size in bytes of the returned results. A -1 indicates the value is null.
     *     For Athena:
     *     Athena automatically retries your queries in cases of certain transient errors. As a result, you may see the query state transition from STARTED or FAILED to SUBMITTED.
     */
    get: operations['getQueryExecutionStatus']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/reports/{reportId}/{reportVariantId}/download': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /** @description Streams the entire result set of the sync query execution as a csv file. */
    get: operations['downloadCsv_1']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/reports/{reportId}/{reportVariantId}/count': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /** @description Returns the number of records for the given report ID and report variant ID filtered by the filters provided in the query. */
    get: operations['configuredApiCount']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/reports/{reportId}/dashboards/{dashboardId}': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /** @description Returns the dataset for the given report ID and dashboard ID filtered by the filters provided in the query. */
    get: operations['configuredApiDatasetForDashboard']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/reports/{reportId}/dashboards/{dashboardId}/tables/{tableId}/result': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /** @description Returns the resulting rows of the executed statement in a paginated fashion which has been stored in a dedicated table. */
    get: operations['getDashboardQueryExecutionResult']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/reports/{reportId}/dashboards/{dashboardId}/statements/{statementId}/status': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /**
     * @description Returns the status of the dashboard statement execution based on the statement ID provided.The following status values can be returned:
     *     ABORTED - The query run was stopped by the user.
     *     ALL - A status value that includes all query statuses. This value can be used to filter results.
     *     FAILED - The query run failed.
     *     FINISHED - The query has finished running.
     *     PICKED - The query has been chosen to be run.
     *     STARTED - The query run has started.
     *     SUBMITTED - The query was submitted, but not yet processed.
     *     Note: When the status is FAILED the error field of the response will be populated.ResultRows is the number of rows returned from the SQL statement. A -1 indicates the value is null.ResultSize is the size in bytes of the returned results. A -1 indicates the value is null.
     *     For Athena:
     *     Athena automatically retries your queries in cases of certain transient errors. As a result, you may see the query state transition from STARTED or FAILED to SUBMITTED.
     */
    get: operations['getDashboardExecutionStatus']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/report/tables/{tableId}/count': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /** @description Returns the number of rows of the table which contains the result of a previously executed query. */
    get: operations['getExternalTableRowCount']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/productCollections': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /** @description Gets all product collections */
    get: operations['getCollections']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/productCollections/{id}': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /** @description Gets product collection by id */
    get: operations['getCollections_1']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/definitions': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /** @description Gets summaries of all report definitions */
    get: operations['definitions_1']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/definitions/{reportId}': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /** @description Gets report definition summary */
    get: operations['definitionSummary']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/definitions/{reportId}/{variantId}': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /** @description Gets report definition containing a single variant. */
    get: operations['definition']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/definitions/{dataProductDefinitionId}/dashboards/{dashboardId}': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /** @description Gets the metric dashboard definition. */
    get: operations['dashboardDefinition']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/async/reports/{reportId}/{reportVariantId}': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /** @description Executes asynchronously the dataset query for the given report and stores the result into an external table.The response returned contains the table ID and the execution ID. This is the asynchronous version of the /reports/{reportId}/{reportVariantId} API. */
    get: operations['asyncConfiguredApiExecuteQuery']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/async/dashboards/{reportId}/{dashboardId}': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    /** @description Executes asynchronously the dataset query for the given dashboard and stores the result into an external table.The response returned contains the table ID and the execution ID. */
    get: operations['asyncExecuteDashboard']
    put?: never
    post?: never
    delete?: never
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/reports/{reportId}/{reportVariantId}/statements/{statementId}': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    get?: never
    put?: never
    post?: never
    /** @description Cancels the execution of a running query. */
    delete: operations['cancelReportQueryExecution']
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
  '/reports/{reportId}/dashboards/{dashboardId}/statements/{statementId}': {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    get?: never
    put?: never
    post?: never
    /** @description Cancels the execution of a running query. */
    delete: operations['cancelDashboardQueryExecution']
    options?: never
    head?: never
    patch?: never
    trace?: never
  }
}
interface components {
  schemas: {
    ErrorResponse: {
      /** Format: int32 */
      status: number
      /** Format: int32 */
      errorCode?: number | null
      userMessage?: string | null
      developerMessage?: string | null
      moreInfo?: string | null
    }
    MissingReportSubmission: {
      userId: string
      reportId: string
      reportVariantId: string
      reason?: string | null
      /** Format: int32 */
      id?: number | null
    }
    Count: {
      /**
       * Format: int64
       * @description The total number of records
       * @example 501
       */
      count: number
    }
    StatementExecutionStatus: {
      /**
       * @description The status of the statement execution.
       * @example FINISHED
       * @example SUBMITTED
       * @example STARTED
       * @example PICKED
       * @example FAILED
       * @example ALL
       * @example ABORTED
       */
      status: string
      /**
       * Format: int64
       * @description The amount of time in nanoseconds that the statement ran.
       * @example 10562762848
       */
      duration: number
      /**
       * Format: int64
       * @description The number of rows returned from the query.
       * @example 10
       */
      resultRows: number
      /**
       * Format: int64
       * @description The size in bytes of the returned results. A -1 indicates the value is null.
       * @example 0
       */
      resultSize?: number | null
      /** @description Contains a short description of the error that occurred. */
      error?: string | null
      /**
       * Format: int32
       * @description Specific to Athena queries. An integer value that specifies the category of a query failure error. The following list shows the category for each integer value.
       *     1 - System
       *     2 - User
       *     3 - Other
       * @example 1
       * @example 2
       * @example 3
       */
      errorCategory?: number | null
      /** @description Specific to Athena queries. Further detail about the status of the query. */
      stateChangeReason?: string | null
    }
    ProductCollectionSummary: {
      id: string
      name: string
      version: string
      ownerName: string
    }
    ProductCollectionDTO: {
      id: string
      name: string
      version: string
      ownerName: string
      products: components['schemas']['ProductCollectionProduct'][]
    }
    ProductCollectionProduct: {
      productId: string
    }
    DashboardDefinitionSummary: {
      id: string
      name: string
      description?: string | null
      /** @enum {string|null} */
      loadType?: 'sync' | 'async' | null
    }
    ReportDefinitionSummary: {
      id: string
      name: string
      description?: string | null
      variants: components['schemas']['VariantDefinitionSummary'][]
      dashboards?: components['schemas']['DashboardDefinitionSummary'][] | null
      authorised: boolean
    }
    VariantDefinitionSummary: {
      id: string
      name: string
      description?: string | null
      isMissing: boolean
      /** @enum {string|null} */
      loadType?: 'sync' | 'async' | null
    }
    ChildVariantDefinition: {
      id: string
      name: string
      resourceName: string
      specification?: components['schemas']['Specification'] | null
      joinFields: string[]
    }
    DynamicFilterOption: {
      /** Format: int32 */
      minimumLength?: number | null
    }
    FieldDefinition: {
      name: string
      display: string
      /** @enum {string|null} */
      wordWrap?: 'none' | 'normal' | 'break-words' | null
      filter?: components['schemas']['FilterDefinition'] | null
      sortable: boolean
      defaultsort: boolean
      /** @enum {string|null} */
      sortDirection?: 'asc' | 'desc' | null
      /** @enum {string} */
      type: 'boolean' | 'date' | 'double' | 'HTML' | 'long' | 'string' | 'time'
      mandatory: boolean
      visible: boolean
      calculated: boolean
      header: boolean
      /** @enum {string} */
      fieldSource: 'specfield' | 'paramfield'
    }
    FilterDefinition: {
      /** @enum {string} */
      type: 'Radio' | 'Select' | 'multiselect' | 'daterange' | 'autocomplete' | 'text' | 'date' | 'granulardaterange'
      mandatory: boolean
      pattern?: string | null
      staticOptions?: components['schemas']['FilterOption'][] | null
      dynamicOptions?: components['schemas']['DynamicFilterOption'] | null
      defaultValue?: string | null
      min?: string | null
      max?: string | null
      interactive?: boolean | null
      /** @enum {string|null} */
      defaultGranularity?: 'hourly' | 'daily' | 'weekly' | 'monthly' | 'quarterly' | 'annually' | null
      /** @enum {string|null} */
      defaultQuickFilterValue?:
        | 'today'
        | 'yesterday'
        | 'last-seven-days'
        | 'last-thirty-days'
        | 'last-month'
        | 'last-full-month'
        | 'last-ninety-days'
        | 'last-three-months'
        | 'last-full-three-months'
        | 'last-year'
        | 'last-full-year'
        | 'tomorrow'
        | 'next-seven-days'
        | 'next-thirty-days'
        | 'next-month'
        | 'next-full-month'
        | 'next-ninety-days'
        | 'next-three-months'
        | 'next-full-three-months'
        | 'next-year'
        | 'next-full-year'
        | null
      /** Format: int32 */
      index?: number | null
    }
    FilterOption: {
      name: string
      display: string
    }
    ReportSummary: {
      id: string
      /** @enum {string} */
      template: 'table-header' | 'table-footer' | 'section-header' | 'section-footer' | 'page-header' | 'page-footer'
      fields: components['schemas']['SummaryField'][]
    }
    SingleVariantReportDefinition: {
      id: string
      name: string
      description?: string | null
      variant: components['schemas']['VariantDefinition']
    }
    Specification: {
      /** @enum {string} */
      template:
        | 'list'
        | 'list-section'
        | 'list-tab'
        | 'summary'
        | 'summary-section'
        | 'parent-child'
        | 'parent-child-section'
        | 'row-section'
        | 'row-section-child'
      fields: components['schemas']['FieldDefinition'][]
      sections: string[]
    }
    SummaryField: {
      name: string
      display?: string | null
      /** @enum {string|null} */
      type?: 'boolean' | 'date' | 'double' | 'HTML' | 'long' | 'string' | 'time' | null
      header?: boolean | null
      mergeRows?: boolean | null
    }
    VariantDefinition: {
      id: string
      name: string
      resourceName: string
      description?: string | null
      specification?: components['schemas']['Specification'] | null
      classification?: string | null
      printable?: boolean | null
      summaries?: components['schemas']['ReportSummary'][] | null
      interactive?: boolean | null
      childVariants?: components['schemas']['ChildVariantDefinition'][] | null
    }
    DashboardBucketDefinition: {
      /** Format: int64 */
      min?: number | null
      /** Format: int64 */
      max?: number | null
      hexColour?: string | null
    }
    DashboardDefinition: {
      id: string
      name: string
      description?: string | null
      sections: components['schemas']['DashboardSectionDefinition'][]
      filterFields?: components['schemas']['FieldDefinition'][] | null
    }
    DashboardOptionDefinition: {
      useRagColour?: boolean | null
      baseColour?: string | null
      buckets?: components['schemas']['DashboardBucketDefinition'][] | null
      showLatest?: boolean | null
      columnsAsList?: boolean | null
      horizontal?: boolean | null
      xStacked?: boolean | null
      yStacked?: boolean | null
      xstacked?: boolean
      ystacked?: boolean
    }
    DashboardSectionDefinition: {
      id: string
      display: string
      description?: string | null
      visualisations: components['schemas']['DashboardVisualisationDefinition'][]
    }
    DashboardVisualisationColumnDefinition: {
      id: string
      display?: string | null
      /** @enum {string|null} */
      aggregate?: 'sum' | 'average' | null
      /** @enum {string|null} */
      unit?: 'NUMBER' | 'PERCENTAGE' | null
      displayValue?: boolean | null
      axis?: string | null
      optional?: boolean | null
    }
    DashboardVisualisationColumnsDefinition: {
      keys?: components['schemas']['DashboardVisualisationColumnDefinition'][] | null
      measures: components['schemas']['DashboardVisualisationColumnDefinition'][]
      filters?: components['schemas']['ValueVisualisationColumnDefinition'][] | null
      expectNulls: boolean
    }
    DashboardVisualisationDefinition: {
      id: string
      /** @enum {string} */
      type:
        | 'list'
        | 'doughnut'
        | 'bar'
        | 'bar-timeseries'
        | 'line'
        | 'scorecard'
        | 'scorecard-group'
        | 'matrix-timeseries'
        | 'line-timeseries'
      display: string
      description?: string | null
      columns: components['schemas']['DashboardVisualisationColumnsDefinition']
      options?: components['schemas']['DashboardOptionDefinition'] | null
    }
    ValueVisualisationColumnDefinition: {
      id: string
      equals?: string | null
    }
    StatementExecutionResponse: {
      tableId: string
      executionId: string
    }
    StatementCancellationResponse: {
      /**
       * @description A value that indicates whether the cancel statement succeeded (true).
       * @example true
       * @example false
       */
      cancellationSucceeded: boolean
    }
  }
  responses: never
  parameters: never
  requestBodies: never
  headers: never
  pathItems: never
}
interface operations {
  requestMissing: {
    parameters: {
      query?: never
      header?: never
      path: {
        reportId: string
        /**
         * @description The ID of the variant definition.
         * @example list
         */
        variantId: string
      }
      cookie?: never
    }
    requestBody?: {
      content: {
        'application/json': string
      }
    }
    responses: {
      /** @description OK */
      200: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['MissingReportSubmission']
        }
      }
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
    }
  }
  definitions: {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description OK */
      200: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': string[]
        }
      }
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
    }
  }
  configuredApiDataset: {
    parameters: {
      query: {
        selectedPage?: number
        pageSize?: number
        sortColumn?: string
        sortedAsc?: boolean
        /**
         * @description The filter query parameters have to start with the prefix "filters." followed by the name of the filter.
         *           For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.
         *           For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:
         *           filters.someMultiselectFilter=a,b,c
         * @example {
         *       "filters.date.start": "2023-04-25",
         *       "filters.date.end": "2023-05-30",
         *       "filters.someMultiselectFilter": "a,b,c"
         *     }
         */
        filters: {
          [key: string]: string
        }
        /**
         * @description This optional parameter sets the path of the directory of the data product definition files your application will use.
         *           "This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.
         * @example definitions/prisons/orphanage
         */
        dataProductDefinitionsPath?: string
      }
      header?: never
      path: {
        reportId: string
        reportVariantId: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description default response */
      default: {
        headers: {
          /** @description Provides additional information about why no data has been returned. */
          'x-no-data-warning'?: string
          [name: string]: unknown
        }
        content: {
          'application/json': {
            [key: string]: unknown
          }[]
        }
      }
    }
  }
  getQueryExecutionResult: {
    parameters: {
      query: {
        dataProductDefinitionsPath?: string
        selectedPage?: number
        pageSize?: number
        /**
         * @description The filter query parameters have to start with the prefix "filters." followed by the name of the filter.
         *           For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.
         *           For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:
         *           filters.someMultiselectFilter=a,b,c
         * @example {
         *       "filters.date.start": "2023-04-25",
         *       "filters.date.end": "2023-05-30",
         *       "filters.someMultiselectFilter": "a,b,c"
         *     }
         */
        filters: {
          [key: string]: string
        }
        sortColumn?: string
        sortedAsc?: boolean
      }
      header?: never
      path: {
        reportId: string
        reportVariantId: string
        tableId: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description OK */
      200: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': {
            [key: string]: unknown
          }[]
        }
      }
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
    }
  }
  getSummaryQueryExecutionResult: {
    parameters: {
      query: {
        dataProductDefinitionsPath?: string
        /**
         * @description The filter query parameters have to start with the prefix "filters." followed by the name of the filter.
         *           For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.
         *           For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:
         *           filters.someMultiselectFilter=a,b,c
         * @example {
         *       "filters.date.start": "2023-04-25",
         *       "filters.date.end": "2023-05-30",
         *       "filters.someMultiselectFilter": "a,b,c"
         *     }
         */
        filters: {
          [key: string]: string
        }
      }
      header?: never
      path: {
        reportId: string
        reportVariantId: string
        tableId: string
        summaryId: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description OK */
      200: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': {
            [key: string]: unknown
          }[]
        }
      }
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
    }
  }
  downloadCsv: {
    parameters: {
      query: {
        dataProductDefinitionsPath?: string
        /**
         * @description The filter query parameters have to start with the prefix "filters." followed by the name of the filter.
         *           For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.
         *           For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:
         *           filters.someMultiselectFilter=a,b,c
         * @example {
         *       "filters.date.start": "2023-04-25",
         *       "filters.date.end": "2023-05-30",
         *       "filters.someMultiselectFilter": "a,b,c"
         *     }
         */
        filters: {
          [key: string]: string
        }
        /** @description List of column names to include in the generated report. If not provided all the columns will be returned. */
        columns?: string[]
        sortColumn?: string
        sortedAsc?: boolean
      }
      header?: never
      path: {
        reportId: string
        reportVariantId: string
        tableId: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description OK */
      200: {
        headers: {
          [name: string]: unknown
        }
        content?: never
      }
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
    }
  }
  getInteractiveExternalTableRowCount: {
    parameters: {
      query: {
        filters: {
          [key: string]: string
        }
        dataProductDefinitionsPath?: string
      }
      header?: never
      path: {
        tableId: string
        reportId: string
        reportVariantId: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description default response */
      default: {
        headers: {
          /** @description Provides additional information about why no data has been returned. */
          'x-no-data-warning'?: string
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['Count']
        }
      }
    }
  }
  getQueryExecutionStatus: {
    parameters: {
      query?: {
        /**
         * @description This optional parameter sets the path of the directory of the data product definition files your application will use.
         *           "This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.
         * @example definitions/prisons/orphanage
         */
        dataProductDefinitionsPath?: string
        /**
         * @description External table ID.
         * @example reports._6b3c6dfb_f601_4795_8ee5_2ad65b7fb283
         */
        tableId?: string
      }
      header?: never
      path: {
        reportId: string
        reportVariantId: string
        statementId: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description OK */
      200: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['StatementExecutionStatus']
        }
      }
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
    }
  }
  downloadCsv_1: {
    parameters: {
      query: {
        dataProductDefinitionsPath?: string
        /**
         * @description The filter query parameters have to start with the prefix "filters." followed by the name of the filter.
         *           For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.
         *           For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:
         *           filters.someMultiselectFilter=a,b,c
         * @example {
         *       "filters.date.start": "2023-04-25",
         *       "filters.date.end": "2023-05-30",
         *       "filters.someMultiselectFilter": "a,b,c"
         *     }
         */
        filters: {
          [key: string]: string
        }
        /** @description List of column names to include in the generated report. If not provided all the columns will be returned. */
        columns?: string[]
        sortColumn?: string
        sortedAsc?: boolean
      }
      header?: never
      path: {
        reportId: string
        reportVariantId: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description OK */
      200: {
        headers: {
          [name: string]: unknown
        }
        content?: never
      }
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
    }
  }
  configuredApiCount: {
    parameters: {
      query: {
        /**
         * @description The filter query parameters have to start with the prefix "filters." followed by the name of the filter.
         *           For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.
         *           For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:
         *           filters.someMultiselectFilter=a,b,c
         * @example {
         *       "filters.date.start": "2023-04-25",
         *       "filters.date.end": "2023-05-30",
         *       "filters.someMultiselectFilter": "a,b,c"
         *     }
         */
        filters: {
          [key: string]: string
        }
        /**
         * @description This optional parameter sets the path of the directory of the data product definition files your application will use.
         *           "This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.
         * @example definitions/prisons/orphanage
         */
        dataProductDefinitionsPath?: string
      }
      header?: never
      path: {
        reportId: string
        reportVariantId: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description default response */
      default: {
        headers: {
          /** @description Provides additional information about why no data has been returned. */
          'x-no-data-warning'?: string
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['Count']
        }
      }
    }
  }
  configuredApiDatasetForDashboard: {
    parameters: {
      query: {
        selectedPage?: number
        pageSize?: number
        sortColumn?: string
        sortedAsc?: boolean
        /**
         * @description The filter query parameters have to start with the prefix "filters." followed by the name of the filter.
         *           For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.
         *           For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:
         *           filters.someMultiselectFilter=a,b,c
         * @example {
         *       "filters.date.start": "2023-04-25",
         *       "filters.date.end": "2023-05-30",
         *       "filters.someMultiselectFilter": "a,b,c"
         *     }
         */
        filters: {
          [key: string]: string
        }
        /**
         * @description This optional parameter sets the path of the directory of the data product definition files your application will use.
         *           "This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.
         * @example definitions/prisons/orphanage
         */
        dataProductDefinitionsPath?: string
      }
      header?: never
      path: {
        reportId: string
        dashboardId: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description default response */
      default: {
        headers: {
          /** @description Provides additional information about why no data has been returned. */
          'x-no-data-warning'?: string
          [name: string]: unknown
        }
        content: {
          'application/json': {
            [key: string]: unknown
          }[]
        }
      }
    }
  }
  getDashboardQueryExecutionResult: {
    parameters: {
      query: {
        dataProductDefinitionsPath?: string
        selectedPage?: number
        pageSize?: number
        /**
         * @description The filter query parameters have to start with the prefix "filters." followed by the name of the filter.
         *           For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.
         *           For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:
         *           filters.someMultiselectFilter=a,b,c
         * @example {
         *       "filters.date.start": "2023-04-25",
         *       "filters.date.end": "2023-05-30",
         *       "filters.someMultiselectFilter": "a,b,c"
         *     }
         */
        filters: {
          [key: string]: string
        }
      }
      header?: never
      path: {
        reportId: string
        dashboardId: string
        tableId: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description OK */
      200: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': {
            [key: string]: unknown
          }[][]
        }
      }
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
    }
  }
  getDashboardExecutionStatus: {
    parameters: {
      query?: {
        /**
         * @description This optional parameter sets the path of the directory of the data product definition files your application will use.
         *           "This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.
         * @example definitions/prisons/orphanage
         */
        dataProductDefinitionsPath?: string
        /**
         * @description External table ID.
         * @example reports._6b3c6dfb_f601_4795_8ee5_2ad65b7fb283
         */
        tableId?: string
      }
      header?: never
      path: {
        reportId: string
        dashboardId: string
        statementId: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description OK */
      200: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['StatementExecutionStatus']
        }
      }
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
    }
  }
  getExternalTableRowCount: {
    parameters: {
      query?: never
      header?: never
      path: {
        tableId: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description default response */
      default: {
        headers: {
          /** @description Provides additional information about why no data has been returned. */
          'x-no-data-warning'?: string
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['Count']
        }
      }
    }
  }
  getCollections: {
    parameters: {
      query?: never
      header?: never
      path?: never
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description OK */
      200: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ProductCollectionSummary'][]
        }
      }
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
    }
  }
  getCollections_1: {
    parameters: {
      query?: never
      header?: never
      path: {
        /**
         * @description The ID of the product collection.
         * @example 72c22579-3f77-4e23-8d16-1e5aadcc88c9
         */
        id: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description OK */
      200: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ProductCollectionDTO']
        }
      }
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
    }
  }
  definitions_1: {
    parameters: {
      query?: {
        /**
         * @description Set this parameter to filter the list to only include reports for the given rendering method.
         * @example HTML
         */
        renderMethod?: 'HTML' | 'PDF' | 'SVG'
        /**
         * @description This optional parameter sets the path of the directory of the data product definition files your application will use.
         *           "This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.
         * @example definitions/prisons/orphanage
         */
        dataProductDefinitionsPath?: string
      }
      header?: never
      path?: never
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description OK */
      200: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ReportDefinitionSummary'][]
        }
      }
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
    }
  }
  definitionSummary: {
    parameters: {
      query?: {
        /**
         * @description This optional parameter sets the path of the directory of the data product definition files your application will use.
         *           "This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.
         * @example definitions/prisons/orphanage
         */
        dataProductDefinitionsPath?: string
      }
      header?: never
      path: {
        /**
         * @description The ID of the report definition.
         * @example external-movements
         */
        reportId: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description OK */
      200: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ReportDefinitionSummary']
        }
      }
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
    }
  }
  definition: {
    parameters: {
      query: {
        /**
         * @description This optional parameter sets the path of the directory of the data product definition files your application will use.
         *           "This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.
         * @example definitions/prisons/orphanage
         */
        dataProductDefinitionsPath?: string
        /**
         * @description The filter query parameters have to start with the prefix "filters." followed by the name of the filter.
         *           For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.
         *           For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:
         *           filters.someMultiselectFilter=a,b,c
         * @example {
         *       "filters.date.start": "2023-04-25",
         *       "filters.date.end": "2023-05-30",
         *       "filters.someMultiselectFilter": "a,b,c"
         *     }
         */
        filters: {
          [key: string]: string
        }
      }
      header?: never
      path: {
        /**
         * @description The ID of the report definition.
         * @example external-movements
         */
        reportId: string
        /**
         * @description The ID of the variant definition.
         * @example list
         */
        variantId: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description OK */
      200: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['SingleVariantReportDefinition']
        }
      }
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
    }
  }
  dashboardDefinition: {
    parameters: {
      query: {
        /**
         * @description This optional parameter sets the path of the directory of the data product definition files your application will use.
         *           "This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.
         * @example definitions/prisons/orphanage
         */
        dataProductDefinitionsPath?: string
        /**
         * @description The filter query parameters have to start with the prefix "filters." followed by the name of the filter.
         *           For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.
         *           For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:
         *           filters.someMultiselectFilter=a,b,c
         * @example {
         *       "filters.date.start": "2023-04-25",
         *       "filters.date.end": "2023-05-30",
         *       "filters.someMultiselectFilter": "a,b,c"
         *     }
         */
        filters: {
          [key: string]: string
        }
      }
      header?: never
      path: {
        /**
         * @description The ID of the Data Product Definition.
         * @example external-movements
         */
        dataProductDefinitionId: string
        /**
         * @description The ID of the dashboard.
         * @example dashboardId
         */
        dashboardId: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description OK */
      200: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['DashboardDefinition']
        }
      }
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
    }
  }
  asyncConfiguredApiExecuteQuery: {
    parameters: {
      query: {
        sortColumn?: string
        sortedAsc?: boolean
        /**
         * @description The filter query parameters have to start with the prefix "filters." followed by the name of the filter.
         *           For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.
         *           For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:
         *           filters.someMultiselectFilter=a,b,c
         *          Note: For legacy nomis and bodmis reports, for filters deriving from DPD parameters(prompts),there is no need for these to be suffixed with .start and .end. For example, filters.start_date and filters.end_date are perfectly valid in this case.
         * @example {
         *       "filters.date.start": "2023-04-25",
         *       "filters.date.end": "2023-05-30",
         *       "filters.someMultiselectFilter": "a,b,c"
         *     }
         */
        filters: {
          [key: string]: string
        }
        /**
         * @description This optional parameter sets the path of the directory of the data product definition files your application will use.
         *           "This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.
         * @example definitions/prisons/orphanage
         */
        dataProductDefinitionsPath?: string
      }
      header?: never
      path: {
        reportId: string
        reportVariantId: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description default response */
      default: {
        headers: {
          /** @description Provides additional information about why no data has been returned. */
          'x-no-data-warning'?: string
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['StatementExecutionResponse']
        }
      }
    }
  }
  asyncExecuteDashboard: {
    parameters: {
      query: {
        /**
         * @description This optional parameter sets the path of the directory of the data product definition files your application will use.
         *           "This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.
         * @example definitions/prisons/orphanage
         */
        dataProductDefinitionsPath?: string
        /**
         * @description The filter query parameters have to start with the prefix "filters." followed by the name of the filter.
         *           For range filters, like date for instance, these need to be followed by a .start or .end suffix accordingly.
         *           For multiselect filters, these are passed as one query parameter per filter with a comma separated list of values:
         *           filters.someMultiselectFilter=a,b,c
         * @example {
         *       "filters.date.start": "2023-04-25",
         *       "filters.date.end": "2023-05-30",
         *       "filters.someMultiselectFilter": "a,b,c"
         *     }
         */
        filters: {
          [key: string]: string
        }
      }
      header?: never
      path: {
        reportId: string
        dashboardId: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description default response */
      default: {
        headers: {
          /** @description Provides additional information about why no data has been returned. */
          'x-no-data-warning'?: string
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['StatementExecutionResponse']
        }
      }
    }
  }
  cancelReportQueryExecution: {
    parameters: {
      query?: {
        /**
         * @description This optional parameter sets the path of the directory of the data product definition files your application will use.
         *           "This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.
         * @example definitions/prisons/orphanage
         */
        dataProductDefinitionsPath?: string
      }
      header?: never
      path: {
        reportId: string
        reportVariantId: string
        statementId: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description OK */
      200: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['StatementCancellationResponse']
        }
      }
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
    }
  }
  cancelDashboardQueryExecution: {
    parameters: {
      query?: {
        /**
         * @description This optional parameter sets the path of the directory of the data product definition files your application will use.
         *           "This query parameter is intended to be used in conjunction with the `dpr.lib.dataProductDefinitions.host` property to retrieve definition files from another application by using a web client.
         * @example definitions/prisons/orphanage
         */
        dataProductDefinitionsPath?: string
      }
      header?: never
      path: {
        reportId: string
        dashboardId: string
        statementId: string
      }
      cookie?: never
    }
    requestBody?: never
    responses: {
      /** @description OK */
      200: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['StatementCancellationResponse']
        }
      }
      /** @description Bad Request */
      400: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Forbidden */
      403: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Gone */
      410: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Too Many Requests */
      429: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
      /** @description Internal Server Error */
      500: {
        headers: {
          [name: string]: unknown
        }
        content: {
          'application/json': components['schemas']['ErrorResponse']
        }
      }
    }
  }
}

export type { components, operations, paths };
