import { ExtensibleNode } from '../ExtensibleNode';
import { IVisitor } from '../../visitors/IVisitor';
/**
 * Constructor.
 * @param {string} opType
 * @class
 * @extends ExtensibleNode
 * @author eric.wittmann@gmail.com
 */
export declare abstract class Operation extends ExtensibleNode implements IExternalDocumentationParent {
    _type: string;
    operationId: string;
    summary: string;
    description: string;
    externalDocs: ExternalDocumentation;
    constructor(opType: string);
    /**
     * Gets the operation type.
     * @return {string}
     */
    getType(): string;
    /**
     * @see io.apicurio.datamodels.core.models.Node#accept(io.apicurio.datamodels.core.visitors.IVisitor)
     * @param {*} visitor
     */
    accept(visitor: IVisitor): void;
    /**
     * Creates an External Documentation node.
     * @return {ExternalDocumentation}
     */
    abstract createExternalDocumentation(): ExternalDocumentation;
    setExternalDocumentation$io_apicurio_datamodels_core_models_common_ExternalDocumentation(externalDocs: ExternalDocumentation): void;
    setExternalDocumentation$java_lang_String$java_lang_String(description: string, url: string): ExternalDocumentation;
    /**
     * Sets the external documentation information.
     * @param {string} description
     * @param {string} url
     * @return {ExternalDocumentation}
     */
    setExternalDocumentation(description?: any, url?: any): any;
}
import { ExternalDocumentation } from './ExternalDocumentation';
import { IExternalDocumentationParent } from './IExternalDocumentationParent';
