using System;
using System.Collections.Generic;
using System.Text;
namespace Google.ProtocolBuffers.Descriptors {
  /// 
  /// The non-generic form of the IDescriptor interface. Useful for describing a general
  /// descriptor.
  /// 
  public interface IDescriptor {
    string Name { get; }
    string FullName { get; }
    FileDescriptor File { get; }
    IMessage Proto { get; }
  }
  /// 
  /// Strongly-typed form of the IDescriptor interface.
  /// 
  /// Protocol buffer type underlying this descriptor type
  public interface IDescriptor : IDescriptor where TProto : IMessage {
    new TProto Proto { get; }
  }
}