import { TagElement } from '@swagger-api/apidom-ns-openapi-3-1';

/**
 * @public
 */
class Tag extends TagElement {
  /**
   * OpenAPI 3.2: Brief summary of the tag.
   */
  get summary() {
    return this.get('summary');
  }
  set summary(summary) {
    this.set('summary', summary);
  }

  /**
   * OpenAPI 3.2: Reference to parent tag name for hierarchical organization.
   * Note: Due to naming conflict with Element.parent, use parentProp to access the parent field.
   */
  get parentProp() {
    return this.get('parent');
  }
  set parentProp(parentValue) {
    this.set('parent', parentValue);
  }

  /**
   * OpenAPI 3.2: Classification of the tag (e.g., "nav", "badge", "audience").
   */
  get kind() {
    return this.get('kind');
  }
  set kind(kind) {
    this.set('kind', kind);
  }
}
export default Tag;