{
  "$defs": {
    "RawBlockExchangeFactor": {
      "additionalProperties": false,
      "description": "Intermediate type for a single block's exchange factors.",
      "properties": {
        "block_id": {
          "description": "Block index.",
          "format": "int32",
          "type": "integer"
        },
        "direct_factor": {
          "description": "Direct (forward) flow capacity multiplier. Must be > 0.0 and finite.",
          "format": "double",
          "type": "number"
        },
        "reverse_factor": {
          "description": "Reverse flow capacity multiplier. Must be > 0.0 and finite.",
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "block_id",
        "direct_factor",
        "reverse_factor"
      ],
      "type": "object"
    },
    "RawExchangeFactorEntry": {
      "additionalProperties": false,
      "description": "Intermediate type for a single `(line_id, stage_id)` entry.",
      "properties": {
        "block_factors": {
          "description": "Block-level capacity multipliers.",
          "items": {
            "$ref": "#/$defs/RawBlockExchangeFactor"
          },
          "type": "array"
        },
        "line_id": {
          "description": "Transmission line identifier.",
          "format": "int32",
          "type": "integer"
        },
        "stage_id": {
          "description": "Stage index.",
          "format": "int32",
          "type": "integer"
        }
      },
      "required": [
        "line_id",
        "stage_id",
        "block_factors"
      ],
      "type": "object"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "description": "Top-level intermediate type for `exchange_factors.json`.\n\nPrivate — only used during deserialization. Not re-exported.",
  "properties": {
    "$schema": {
      "description": "`$schema` field — informational, not validated.",
      "type": [
        "string",
        "null"
      ]
    },
    "exchange_factors": {
      "description": "Array of exchange factor entries.",
      "items": {
        "$ref": "#/$defs/RawExchangeFactorEntry"
      },
      "type": "array"
    }
  },
  "required": [
    "exchange_factors"
  ],
  "title": "RawExchangeFactorsFile",
  "type": "object"
}