import { IReferenceNode } from '../../core/models/IReferenceNode';
import { Operation } from '../../core/models/common/Operation';
import { Tag } from '../../core/models/common/Tag';
/**
 * Constructor.
 * @param {Node} parent
 * @param {string} opType
 * @class
 * @extends Operation
 * @author Jakub Senko <jsenko@redhat.com>
 */
export declare abstract class AaiOperationBase extends Operation implements IReferenceNode {
    $ref: string;
    tags: Array<Tag>;
    bindings: AaiOperationBindings;
    constructor(parent?: any, opType?: any);
    /**
     *
     * @return {string}
     */
    getReference(): string;
    /**
     *
     * @param {string} reference
     */
    setReference(reference: string): void;
    addTag$io_apicurio_datamodels_asyncapi_models_AaiTag(tag: AaiTag): void;
    addTag$java_lang_String$java_lang_String(name: string, description: string): AaiTag;
    /**
     * Adds a tag.
     *
     * @param {string} name
     * @param {string} description
     * @return {AaiTag}
     */
    addTag(name?: any, description?: any): any;
    abstract createTag(): AaiTag;
}
import { AaiTag } from './AaiTag';
import { AaiOperationBindings } from './AaiOperationBindings';
