Editor/Contracts/IContractTable.cs

Interface in the editor project that defines a contract table for UI control types. It exposes a Get method to retrieve a ControlContract by ControlType and an All property to enumerate all available ControlContract instances.

using System.Collections.Generic;
using Grains.RazorDesigner.Document;

namespace Grains.RazorDesigner.Contracts;

public interface IContractTable
{
    ControlContract Get( ControlType kind );

    // Enumerate all contracts.
    IEnumerable<ControlContract> All { get; }
}