{{ header }}#nullable enable

using System;
using System.Collections.Generic;
using System.Text.Json;
using System.Text.Json.Serialization;

namespace {{ namespace }};

/// <summary>Context passed to every visitor callback.</summary>
public record {{ context_type }}(
{%- for field in fields %}
    [property: JsonPropertyName("{{ field.wire_name }}")] {{ field.cs_type }} {{ field.cs_name }}{% if not loop.last %},{% endif %}
{%- endfor %}
);
