import { IVisitor } from '../../core/visitors/IVisitor';
import { AaiMessageBase } from './AaiMessageBase';
/**
 * Constructor.
 * @param {Node} parent
 * @param {string} name
 * @class
 * @extends AaiMessageBase
 * @author Jakub Senko <jsenko@redhat.com>
 */
export declare abstract class AaiMessageTrait extends AaiMessageBase implements IAaiTrait {
    constructor(parent?: any, name?: any);
    /**
     * @see io.apicurio.datamodels.asyncapi.models.IAaiTrait#getTraitType()
     * @return {AaiTraitType}
     */
    getTraitType(): AaiTraitType;
    /**
     * @see io.apicurio.datamodels.core.models.Node#accept(io.apicurio.datamodels.core.visitors.IVisitor)
     * @param {*} visitor
     */
    accept(visitor: IVisitor): void;
    /**
     * @see io.apicurio.datamodels.asyncapi.models.AaiMessageBase#addTag(io.apicurio.datamodels.asyncapi.models.AaiTag)
     * @param {AaiTag} tag
     */
    addTag(tag: AaiTag): void;
}
import { AaiTag } from './AaiTag';
import { AaiTraitType } from './AaiTraitType';
import { IAaiTrait } from './IAaiTrait';
