/* eslint-disable */
/**
 * This file was automatically generated by scripts/manifest/index-ts.mustache.
 * DO NOT MODIFY IT BY HAND. Instead, modify scripts/manifest/index-ts.mustache,
 * and run node ./scripts/manifest/generateFormatTypes.js to regenerate this file.
 */

{{#formats}}
import {
  {{type}} as {{type}}_{{tsVersion}},
  {{#isWorkflow}}
  Jobs as WorkflowJobs_{{tsVersion}},
  {{/isWorkflow}}
} from "./{{version}}";
{{/formats}}

export {
  {{#formats}}
  {{type}}_{{tsVersion}},
  {{#isWorkflow}}
  WorkflowJobs_{{tsVersion}},
  {{/isWorkflow}}
  {{/formats}}
};

export enum {{#latest}}{{type}}{{/latest}}Formats {
  // NOTE: Patch fix for backwards compatability
  "v0.1" = "0.1",
  {{#formats}}
  "v{{version}}" = "{{version}}",
  {{/formats}}
}

export const {{#latest}}{{type}}{{/latest}}SchemaFiles: Record<string, string> = {
  // NOTE: Patch fix for backwards compatability
  "0.1": "formats/{{#latest}}{{formatTypeName}}{{/latest}}/0.1.0.json",
  {{#formats}}
  "{{version}}": "{{{schemaFilePath}}}",
  {{/formats}}
}

export type Any{{#latest}}{{type}}{{/latest}} =
{{#formats}}
  | {{type}}_{{tsVersion}}
{{/formats}}

{{#latest.isWorkflow}}
export type WorkflowJobs =
{{#formats}}
   | WorkflowJobs_{{tsVersion}}
{{/formats}}
{{/latest.isWorkflow}}

export type {{#latest}}{{type}}{{/latest}} = {{#latest}}{{type}}_{{tsVersion}}{{/latest}};

export const latest{{#latest}}{{type}}{{/latest}}Format = {{#latest}}{{type}}{{/latest}}Formats["v{{#latest}}{{version}}{{/latest}}"]

export { migrate{{#latest}}{{type}}{{/latest}} } from "./migrate";

export { deserialize{{#latest}}{{type}}{{/latest}} } from "./deserialize";

export { validate{{#latest}}{{type}}{{/latest}} } from "./validate";
