// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System;
using System.Collections.Generic;

namespace Microsoft.AspNetCore.Razor.Language
{
	public abstract class TagMatchingRuleDescriptorBuilder
	{
		public abstract string TagName { get; set; }

		public abstract string ParentTag { get; set; }

		public abstract TagStructure TagStructure { get; set; }

		public abstract RazorDiagnosticCollection Diagnostics { get; }

		public abstract IReadOnlyList<RequiredAttributeDescriptorBuilder> Attributes { get; }

		public abstract void Attribute( Action<RequiredAttributeDescriptorBuilder> configure );
	}
}
