import { ExtensibleNode } from '../../core/models/ExtensibleNode';
import { IReferenceNode } from '../../core/models/IReferenceNode';
import { ExternalDocumentation } from '../../core/models/common/ExternalDocumentation';
import { INamed } from '../../core/models/common/INamed';
import { Tag } from '../../core/models/common/Tag';
/**
 * Constructor.
 * @param {Node} parent
 * @param {string} name
 * @class
 * @extends ExtensibleNode
 * @author Jakub Senko <jsenko@redhat.com>
 */
export declare abstract class AaiMessageBase extends ExtensibleNode implements IReferenceNode, INamed {
    _name: string;
    $ref: string;
    /**
     * Represents `Schema Object | Reference Object` type.
     */
    headers: AaiHeaderItem;
    correlationId: AaiCorrelationId;
    schemaFormat: string;
    contentType: string;
    name: string;
    title: string;
    summary: string;
    description: string;
    tags: Array<Tag>;
    externalDocs: ExternalDocumentation;
    bindings: AaiMessageBindings;
    /**
     * Represents `Map[string, any]` type.
     * <p>
     * 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 <a href="https://www.asyncapi.com/docs/specifications/2.0.0/#schemaObject">AsyncAPI 2.0.0 spec</a>
     */
    examples: any;
    constructor(parent?: any, name?: any);
    /**
     * @see io.apicurio.datamodels.core.models.common.INamed#getName()
     * @return {string}
     */
    getName(): string;
    /**
     * @see io.apicurio.datamodels.core.models.common.INamed#rename(java.lang.String)
     * @param {string} newName
     */
    rename(newName: string): void;
    /**
     *
     * @return {string}
     */
    getReference(): string;
    /**
     *
     * @param {string} reference
     */
    setReference(reference: string): void;
    abstract addTag(tag: AaiTag): any;
}
import { AaiTag } from './AaiTag';
import { AaiMessageBindings } from './AaiMessageBindings';
import { AaiCorrelationId } from './AaiCorrelationId';
import { AaiHeaderItem } from './AaiHeaderItem';
