// Copyright(c) .NET Foundation.All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Collections.Generic;
namespace Microsoft.AspNetCore.Razor.Language
{
///
/// A builder interface for configuring a .
///
public interface IDirectiveDescriptorBuilder
{
///
/// Gets or sets the description of the directive.
///
string Description { get; set; }
///
/// Gets the directive keyword.
///
string Directive { get; }
///
/// Gets or sets the display name of the directive.
///
string DisplayName { get; set; }
///
/// Gets the directive kind.
///
DirectiveKind Kind { get; }
///
/// Gets or sets the directive usage. The usage determines how many, and where directives can exist per document.
///
DirectiveUsage Usage { get; set; }
///
/// Gets a list of the directive tokens.
///
IList Tokens { get; }
///
/// Creates a based on the current property values of the builder.
///
/// The created .
DirectiveDescriptor Build();
}
}