declare const _default: {
  "$ref": "#/definitions/Condition",
  "definitions": {
    "Base": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "required": ["id"]
    },
    "Condition": {
      "oneOf": [
        {
          "$ref": "#/definitions/Datasource"
        },
        {
          "$ref": "#/definitions/Privilege"
        },
        {
          "$ref": "#/definitions/Combination"
        },
        {
          "$ref": "#/definitions/CurrentState"
        },
        {
          "$ref": "#/definitions/ParentState"
        },
        {
          "$ref": "#/definitions/Reference"
        }
      ]
    },
    "Datasource": {
      "allOf": [
        {
          "$ref": "#/definitions/Base"
        }
      ],
      "properties": {
        "type": {
          "const": "datasource"
        },
        "path": {
          "type": "string"
        },
        "value": {
          "type": ["number", "string", "boolean", "object", "array", "null"]
        },
        "valueType": {
          "enum": ["datasource", "hardCoded"]
        },
        "dataType": {
          "enum": ["string", "number", "date", "boolean", "array", "object"]
        },
        "op": {
          "enum": ["eq", "neq", "regex", "in", "nin", "gt", "gte", "lt", "lte"]
        }
      },
      "required": ["name", "type", "path", "value", "op"]
    },
    "Privilege": {
      "allOf": [
        {
          "$ref": "#/definitions/Base"
        }
      ],
      "properties": {
        "type": {
          "const": "privilege"
        },
        "value": {
          "type": "string"
        },
        "valueType": {
          "enum": ["datasource", "hardCoded"]
        },
        "op": {
          "enum": ["eq", "neq", "regex"]
        }
      },
      "required": ["name", "type", "value", "op"]
    },
    "Combination": {
      "allOf": [
        {
          "$ref": "#/definitions/Base"
        }
      ],
      "properties": {
        "type": {
          "const": "combination"
        },
        "op": {
          "enum": ["and", "or"]
        },
        "conditions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Condition"
          }
        }
      },
      "required": ["type", "conditions", "op"]
    },
    "CurrentState": {
      "allOf": [
        {
          "$ref": "#/definitions/Base"
        }
      ],
      "properties": {
        "type": {
          "const": "currentState"
        },
        "value": {
          "type": "string"
        },
        "valueType": {
          "enum": ["datasource", "hardCoded"]
        },
        "dataType": {
          "enum": ["string", "number", "date", "boolean", "array", "object"]
        },
        "op": {
          "enum": ["eq", "neq", "regex"]
        }
      },
      "required": ["name", "type", "value", "op"]
    },
    "ParentState": {
      "allOf": [
        {
          "$ref": "#/definitions/Base"
        }
      ],
      "properties": {
        "type": {
          "const": "parentState"
        },
        "value": {
          "type": "string"
        },
        "valueType": {
          "enum": ["datasource", "hardCoded"]
        },
        "dataType": {
          "enum": ["string", "number", "date", "boolean", "array", "object"]
        },
        "op": {
          "enum": ["eq", "neq", "regex"]
        }
      },
      "required": ["name", "type", "value", "op"]
    },
    "Reference": {
      "allOf": [
        {
          "$ref": "#/definitions/Base"
        }
      ],
      "properties": {
        "type": {
          "const": "reference"
        },
        "ref": {
          "type": "string"
        }
      },
      "required": ["type", "ref"]
    }
  }
}
;

export default _default;
