import { ExternalDocumentation } from '../../../core/models/common/ExternalDocumentation';
import { IServerParent } from '../../../core/models/common/IServerParent';
import { Server } from '../../../core/models/common/Server';
import { OasOperation } from '../../models/OasOperation';
import { OasParameter } from '../../models/OasParameter';
import { OasResponses } from '../../models/OasResponses';
import { OasSecurityRequirement } from '../../models/OasSecurityRequirement';
/**
 * Constructor.
 * @param {string} method
 * @class
 * @extends OasOperation
 * @author eric.wittmann@gmail.com
 */
export declare class Oas30Operation extends OasOperation implements IServerParent {
    requestBody: Oas30RequestBody;
    callbacks: any;
    servers: Array<Server>;
    constructor(method: string);
    /**
     * @see io.apicurio.datamodels.core.models.common.Operation#createExternalDocumentation()
     * @return {ExternalDocumentation}
     */
    createExternalDocumentation(): ExternalDocumentation;
    /**
     * @see io.apicurio.datamodels.openapi.models.OasOperation#createParameter()
     * @return {OasParameter}
     */
    createParameter(): OasParameter;
    /**
     * @see io.apicurio.datamodels.openapi.models.OasOperation#createResponses()
     * @return {OasResponses}
     */
    createResponses(): OasResponses;
    /**
     * @see io.apicurio.datamodels.openapi.models.OasOperation#createSecurityRequirement()
     * @return {OasSecurityRequirement}
     */
    createSecurityRequirement(): OasSecurityRequirement;
    /**
     * Creates a callback.
     * @param {string} name
     * @return {Oas30Callback}
     */
    createCallback(name: string): Oas30Callback;
    /**
     * Adds a callback.
     * @param {string} name
     * @param {Oas30Callback} callback
     */
    addCallback(name: string, callback: Oas30Callback): void;
    /**
     * Gets a single callback by name.
     * @param {string} name
     * @return {Oas30Callback}
     */
    getCallback(name: string): Oas30Callback;
    /**
     * Removes a single callback and returns it.  This may return null or undefined if none found.
     * @param {string} name
     * @return {Oas30Callback}
     */
    removeCallback(name: string): Oas30Callback;
    /**
     * Gets a list of all callbacks.
     * @return {Oas30Callback[]}
     */
    getCallbacks(): Array<Oas30Callback>;
    /**
     * Creates a child RequestBody model.
     * @return {Oas30RequestBody}
     */
    createRequestBody(): Oas30RequestBody;
    /**
     * @see io.apicurio.datamodels.core.models.common.IServerParent#createServer()
     * @return {Server}
     */
    createServer(): Server;
    /**
     * @see io.apicurio.datamodels.core.models.common.IServerParent#addServer(io.apicurio.datamodels.core.models.common.Server)
     * @param {Server} server
     */
    addServer(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 { Oas30Callback } from './Oas30Callback';
import { Oas30RequestBody } from './Oas30RequestBody';
