{
  "abs": {
    "parameters": [
      {
        "name": "value",
        "type": "<number>|<dimension>|<percentage>",
        "required": true
      }
    ]
  },
  "acos": {
    "parameters": [
      {
        "name": "value",
        "type": "<number>",
        "required": true
      }
    ]
  },
  "asin": {
    "parameters": [
      {
        "name": "value",
        "type": "<number>",
        "required": true
      }
    ]
  },
  "atan": {
    "parameters": [
      {
        "name": "value",
        "type": "<number>",
        "required": true
      }
    ]
  },
  "atan2": {
    "parameter-validation": "consistent",
    "parameters": [
      {
        "name": "y",
        "type": "<number>|<dimension>|<percentage>",
        "required": true
      },
      {
        "name": "x",
        "type": "<number>|<dimension>|<percentage>",
        "required": true
      }
    ]
  },
  "clamp": {
    "__comment": "FIXME: Support `none` keyword for min or max.",
    "parameter-validation": "consistent",
    "parameters": [
      {
        "name": "min",
        "type": "<number>|<dimension>|<percentage>",
        "required": true
      },
      {
        "name": "central",
        "type": "<number>|<dimension>|<percentage>",
        "required": true
      },
      {
        "name": "max",
        "type": "<number>|<dimension>|<percentage>",
        "required": true
      }
    ]
  },
  "cos": {
    "parameters": [
      {
        "name": "value",
        "type": "<number>|<angle>",
        "required": true
      }
    ]
  },
  "exp": {
    "parameters": [
      {
        "name": "value",
        "type": "<number>",
        "required": true
      }
    ]
  },
  "hypot": {
    "parameter-validation": "consistent",
    "is-variadic": true,
    "parameters": [
      {
        "name": "value",
        "type": "<number>|<dimension>|<percentage>",
        "required": true
      }
    ]
  },
  "log": {
    "parameter-validation": "same",
    "parameters": [
      {
        "name": "value",
        "type": "<number>",
        "required": true
      },
      {
        "name": "base",
        "type": "<number>",
        "required": false,
        "default": "e"
      }
    ]
  },
  "max": {
    "parameter-validation": "consistent",
    "is-variadic": true,
    "parameters": [
      {
        "name": "value",
        "type": "<number>|<dimension>|<percentage>",
        "required": true
      }
    ]
  },
  "min": {
    "parameter-validation": "consistent",
    "is-variadic": true,
    "parameters": [
      {
        "name": "value",
        "type": "<number>|<dimension>|<percentage>",
        "required": true
      }
    ]
  },
  "mod": {
    "parameter-validation": "same",
    "parameters": [
      {
        "name": "value",
        "type": "<number>|<dimension>|<percentage>",
        "required": true
      },
      {
        "name": "divisor",
        "type": "<number>|<dimension>|<percentage>",
        "required": true
      }
    ]
  },
  "pow": {
    "parameter-validation": "consistent",
    "parameters": [
      {
        "name": "value",
        "type": "<number>",
        "required": true
      },
      {
        "name": "exponent",
        "type": "<number>",
        "required": true
      }
    ]
  },
  "random": {
    "parameter-validation": "consistent",
    "parameters": [
      {
        "name": "random-value-sharing",
        "type": "<random-value-sharing>",
        "required": false,
        "default": "auto",
        "__comment": "NOTE: The actual default is hardcoded and we don't respect the value above, we have it there so we know that this argument has a default"
      },
      {
        "name": "minimum",
        "type": "<number>|<dimension>|<percentage>",
        "required": true
      },
      {
        "name": "maximum",
        "type": "<number>|<dimension>|<percentage>",
        "required": true
      },
      {
        "name": "step",
        "type": "<number>|<dimension>|<percentage>",
        "required": false
      }
    ]
  },
  "rem": {
    "parameter-validation": "same",
    "parameters": [
      {
        "name": "value",
        "type": "<number>|<dimension>|<percentage>",
        "required": true
      },
      {
        "name": "divisor",
        "type": "<number>|<dimension>|<percentage>",
        "required": true
      }
    ]
  },
  "round": {
    "parameter-validation": "consistent",
    "parameters": [
      {
        "name": "strategy",
        "type": "<rounding-strategy>",
        "required": false,
        "default": "nearest"
      },
      {
        "name": "value",
        "type": "<number>|<dimension>|<percentage>",
        "required": true
      },
      {
        "__comment": "FIXME: This is supposed to be optional, defaulting to 1, if the value is a <number>.",
        "name": "interval",
        "type": "<number>|<dimension>|<percentage>",
        "required": true
      }
    ]
  },
  "sign": {
    "parameters": [
      {
        "name": "value",
        "type": "<number>|<dimension>|<percentage>",
        "required": true
      }
    ]
  },
  "sin": {
    "parameters": [
      {
        "name": "value",
        "type": "<number>|<angle>",
        "required": true
      }
    ]
  },
  "sqrt": {
    "parameters": [
      {
        "name": "value",
        "type": "<number>",
        "required": true
      }
    ]
  },
  "tan": {
    "parameters": [
      {
        "name": "value",
        "type": "<number>|<angle>",
        "required": true
      }
    ]
  }
}
