import { IVisitor } from '../../core/visitors/IVisitor'; import { AaiMessageBase } from './AaiMessageBase'; import { AaiMessageTrait } from './AaiMessageTrait'; import { AaiTag } from './AaiTag'; /** * Constructor. * @param {Node} parent * @param {string} name * @class * @extends AaiMessageBase * @author Jakub Senko */ export declare abstract class AaiMessage extends AaiMessageBase { /** * The message may be "composite". * In this case, nested messages are stored here. * @see AsyncAPI 2.0.0 spec */ oneOf: Array; _isOneOfMessage: boolean; /** * Objects of `any` type are deserialized as follows: * In TypeScript, this field contains the raw JS object, in case of Java * it is a {@link com.fasterxml.jackson.databind.node.ObjectNode}. * * @see AsyncAPI 2.0.0 spec */ payload: any; traits: Array; constructor(parent?: any, name?: any); /** * @see io.apicurio.datamodels.core.models.Node#accept(io.apicurio.datamodels.core.visitors.IVisitor) * @param {*} visitor */ accept(visitor: IVisitor): void; /** * Add a oneOf message. * @param {AaiMessage} item * @return * @param {number} index */ addOneOfMessage(item: AaiMessage, index: number): void; /** * Delete a oneOf message. * @param {number} index * @return * @return {AaiMessage} */ deleteOneOfMessage(index: number): AaiMessage; /** * @see io.apicurio.datamodels.asyncapi.models.AaiMessageBase#addTag(io.apicurio.datamodels.asyncapi.models.AaiTag) * @param {AaiTag} tag */ addTag(tag: AaiTag): void; /** * @param {AaiMessageTrait} traitModel */ addTrait(traitModel: AaiMessageTrait): void; setIsOneOfMessage(_isOneOfMessage: boolean): void; }