import { DocumentType } from '../../../core/models/DocumentType';
import { ExternalDocumentation } from '../../../core/models/common/ExternalDocumentation';
import { IServerParent } from '../../../core/models/common/IServerParent';
import { Info } from '../../../core/models/common/Info';
import { Server } from '../../../core/models/common/Server';
import { Tag } from '../../../core/models/common/Tag';
import { OasDocument } from '../../models/OasDocument';
import { OasPaths } from '../../models/OasPaths';
import { OasSecurityRequirement } from '../../models/OasSecurityRequirement';
/**
 * Constructor.
 * @class
 * @extends OasDocument
 * @author eric.wittmann@gmail.com
 */
export declare class Oas30Document extends OasDocument implements IServerParent {
    openapi: string;
    servers: Array<Server>;
    components: Oas30Components;
    constructor();
    /**
     * @see io.apicurio.datamodels.core.models.Document#getDocumentType()
     * @return {DocumentType}
     */
    getDocumentType(): DocumentType;
    /**
     * @see io.apicurio.datamodels.openapi.models.OasDocument#createPaths()
     * @return {OasPaths}
     */
    createPaths(): OasPaths;
    /**
     * @see io.apicurio.datamodels.openapi.models.OasDocument#createSecurityRequirement()
     * @return {OasSecurityRequirement}
     */
    createSecurityRequirement(): OasSecurityRequirement;
    /**
     * @see io.apicurio.datamodels.core.models.Document#createInfo()
     * @return {Info}
     */
    createInfo(): Info;
    /**
     * @see io.apicurio.datamodels.core.models.Document#createTag()
     * @return {Tag}
     */
    createTag(): Tag;
    /**
     * @see io.apicurio.datamodels.core.models.Document#createExternalDocumentation()
     * @return {ExternalDocumentation}
     */
    createExternalDocumentation(): ExternalDocumentation;
    /**
     * @see io.apicurio.datamodels.core.models.common.IServerParent#createServer()
     * @return {Server}
     */
    createServer(): Server;
    addServer$java_lang_String$java_lang_String(url: string, description: string): Server;
    /**
     * Adds a server.
     * @param {string} url
     * @param {string} description
     * @return {Server}
     */
    addServer(url?: any, description?: any): any;
    /**
     * Creates an OAS 3.0 Components object.
     * @return {Oas30Components}
     */
    createComponents(): Oas30Components;
    addServer$io_apicurio_datamodels_core_models_common_Server(server: Server): void;
    /**
     * @see io.apicurio.datamodels.core.models.common.IServerParent#getServer(java.lang.String)
     * @param {string} url
     * @return {Server}
     */
    getServer(url: string): Server;
    /**
     * @see io.apicurio.datamodels.core.models.common.IServerParent#getServers()
     * @return {Server[]}
     */
    getServers(): Array<Server>;
}
import { Oas30Components } from './Oas30Components';
