import { ExternalDocumentation } from './common/ExternalDocumentation'; import { IExternalDocumentationParent } from './common/IExternalDocumentationParent'; import { Info } from './common/Info'; import { Tag } from './common/Tag'; import { IVisitor } from '../visitors/IVisitor'; import { ExtensibleNode } from './ExtensibleNode'; /** * Constructor. * @class * @extends ExtensibleNode * @author eric.wittmann@gmail.com */ export declare abstract class Document extends ExtensibleNode implements IExternalDocumentationParent { info: Info; tags: Array; externalDocs: ExternalDocumentation; constructor(); /** * Called to get the type of document. * @return {DocumentType} */ abstract getDocumentType(): DocumentType; /** * @see io.apicurio.datamodels.core.models.Node#accept(io.apicurio.datamodels.core.visitors.IVisitor) * @param {*} visitor */ accept(visitor: IVisitor): void; /** * Creates an Info node. * @return {Info} */ abstract createInfo(): Info; /** * Creates a Tag node. * @return {Tag} */ abstract createTag(): Tag; /** * Adds a tag. * @param {string} name * @param {string} description * @return {Tag} */ addTag(name: string, description: string): Tag; /** * 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; /** * * @return {boolean} */ isAttached(): boolean; } import { DocumentType } from './DocumentType';