/**
 * Auto-generated schema from XSD
 * 
 * DO NOT EDIT - Generated by ts-xsd codegen
 * Source: abapgit/fugr.xsd
 */

export default {
  $xmlns: {
    xs: "http://www.w3.org/2001/XMLSchema",
    asx: "http://www.sap.com/abapxml",
  },
  elementFormDefault: "unqualified",
  element: [
    {
      name: "abapGit",
      complexType: {
        sequence: {
          element: [
            {
              name: "abap",
              type: "FugrAbapType",
            },
          ],
        },
        attribute: [
          {
            name: "version",
            type: "xs:string",
            use: "required",
          },
          {
            name: "serializer",
            type: "xs:string",
            use: "required",
          },
          {
            name: "serializer_version",
            type: "xs:string",
            use: "required",
          },
        ],
      },
    },
    {
      name: "Schema",
      abstract: true,
    },
  ],
  complexType: [
    {
      name: "FugrValuesType",
      all: {
        element: [
          {
            name: "AREAT",
            type: "xs:string",
            minOccurs: "0",
          },
          {
            name: "INCLUDES",
            type: "FugrIncludesType",
            minOccurs: "0",
          },
          {
            name: "FUNCTIONS",
            type: "FugrFunctionsType",
            minOccurs: "0",
          },
        ],
      },
    },
    {
      name: "FugrAbapType",
      sequence: {
        element: [
          {
            name: "values",
            type: "FugrValuesType",
          },
        ],
      },
      attribute: [
        {
          name: "version",
          type: "xs:string",
          "default": "1.0",
        },
      ],
    },
    {
      name: "AbapValuesType",
      sequence: {
        element: [
          {
            ref: "asx:Schema",
            minOccurs: "0",
            maxOccurs: "unbounded",
          },
        ],
      },
    },
    {
      name: "AbapType",
      sequence: {
        element: [
          {
            ref: "asx:values",
          },
        ],
      },
      attribute: [
        {
          name: "version",
          type: "xs:string",
          "default": "1.0",
        },
      ],
    },
    {
      name: "FugrParamType",
      all: {
        element: [
          {
            name: "PARAMETER",
            type: "xs:string",
            minOccurs: "0",
          },
          {
            name: "TYP",
            type: "xs:string",
            minOccurs: "0",
          },
          {
            name: "DBFIELD",
            type: "xs:string",
            minOccurs: "0",
          },
          {
            name: "DEFAULT",
            type: "xs:string",
            minOccurs: "0",
          },
          {
            name: "OPTIONAL",
            type: "xs:string",
            minOccurs: "0",
          },
          {
            name: "REFERENCE",
            type: "xs:string",
            minOccurs: "0",
          },
        ],
      },
    },
    {
      name: "FugrTableParamType",
      all: {
        element: [
          {
            name: "PARAMETER",
            type: "xs:string",
            minOccurs: "0",
          },
          {
            name: "DBSTRUCT",
            type: "xs:string",
            minOccurs: "0",
          },
          {
            name: "TYP",
            type: "xs:string",
            minOccurs: "0",
          },
          {
            name: "OPTIONAL",
            type: "xs:string",
            minOccurs: "0",
          },
        ],
      },
    },
    {
      name: "FugrExceptionType",
      all: {
        element: [
          {
            name: "EXCEPTION",
            type: "xs:string",
            minOccurs: "0",
          },
        ],
      },
    },
    {
      name: "FugrDocParamType",
      all: {
        element: [
          {
            name: "PARAMETER",
            type: "xs:string",
            minOccurs: "0",
          },
          {
            name: "KIND",
            type: "xs:string",
            minOccurs: "0",
          },
          {
            name: "STEXT",
            type: "xs:string",
            minOccurs: "0",
          },
        ],
      },
    },
    {
      name: "FugrImportType",
      sequence: {
        element: [
          {
            name: "RSIMP",
            type: "FugrParamType",
            minOccurs: "0",
            maxOccurs: "unbounded",
          },
        ],
      },
    },
    {
      name: "FugrExportType",
      sequence: {
        element: [
          {
            name: "RSEXP",
            type: "FugrParamType",
            minOccurs: "0",
            maxOccurs: "unbounded",
          },
        ],
      },
    },
    {
      name: "FugrChangingType",
      sequence: {
        element: [
          {
            name: "RSCHA",
            type: "FugrParamType",
            minOccurs: "0",
            maxOccurs: "unbounded",
          },
        ],
      },
    },
    {
      name: "FugrTablesType",
      sequence: {
        element: [
          {
            name: "RSTBL",
            type: "FugrTableParamType",
            minOccurs: "0",
            maxOccurs: "unbounded",
          },
        ],
      },
    },
    {
      name: "FugrExceptionsType",
      sequence: {
        element: [
          {
            name: "RSEXC",
            type: "FugrExceptionType",
            minOccurs: "0",
            maxOccurs: "unbounded",
          },
        ],
      },
    },
    {
      name: "FugrDocumentationType",
      sequence: {
        element: [
          {
            name: "RSFDO",
            type: "FugrDocParamType",
            minOccurs: "0",
            maxOccurs: "unbounded",
          },
        ],
      },
    },
    {
      name: "FugrFunctionItemType",
      all: {
        element: [
          {
            name: "FUNCNAME",
            type: "xs:string",
          },
          {
            name: "GLOBAL_FLAG",
            type: "xs:string",
            minOccurs: "0",
          },
          {
            name: "REMOTE_CALL",
            type: "xs:string",
            minOccurs: "0",
          },
          {
            name: "UPDATE_TASK",
            type: "xs:string",
            minOccurs: "0",
          },
          {
            name: "SHORT_TEXT",
            type: "xs:string",
            minOccurs: "0",
          },
          {
            name: "REMOTE_BASXML",
            type: "xs:string",
            minOccurs: "0",
          },
          {
            name: "EXCEPTION_CLASSES",
            type: "xs:string",
            minOccurs: "0",
          },
          {
            name: "IMPORT",
            type: "FugrImportType",
            minOccurs: "0",
          },
          {
            name: "CHANGING",
            type: "FugrChangingType",
            minOccurs: "0",
          },
          {
            name: "EXPORT",
            type: "FugrExportType",
            minOccurs: "0",
          },
          {
            name: "TABLES",
            type: "FugrTablesType",
            minOccurs: "0",
          },
          {
            name: "EXCEPTION",
            type: "FugrExceptionsType",
            minOccurs: "0",
          },
          {
            name: "DOCUMENTATION",
            type: "FugrDocumentationType",
            minOccurs: "0",
          },
        ],
      },
    },
    {
      name: "FugrFunctionsType",
      sequence: {
        element: [
          {
            name: "item",
            type: "FugrFunctionItemType",
            minOccurs: "0",
            maxOccurs: "unbounded",
          },
        ],
      },
    },
    {
      name: "FugrIncludesType",
      sequence: {
        element: [
          {
            name: "SOBJ_NAME",
            type: "xs:string",
            minOccurs: "0",
            maxOccurs: "unbounded",
          },
        ],
      },
    },
  ],
} as const;
