import { Node } from '../Node'; import { IVisitor } from '../../visitors/IVisitor'; /** * Constructor. * @class * @extends Node * @author eric.wittmann@gmail.com */ export declare abstract class SecurityRequirement extends Node { _items: any; constructor(); /** * Gets the names of all the security requirements. * @return {string[]} */ getSecurityRequirementNames(): Array; /** * Gets the scopes defined for this security requirement. This is only valid if the * type of security is oauth2. * @param {string} name * @return {string[]} */ getScopes(name: string): Array; /** * Adds a security requirement item. * @param {string} name * @param {string[]} scopes */ addSecurityRequirementItem(name: string, scopes: Array): void; /** * Removes a single security requirement item (reference to an existing security scheme) * by scheme name and returns the array of scopes previously mapped to the scheme name. * @param {string} name * @return {string[]} */ removeSecurityRequirementItem(name: string): Array; /** * @see io.apicurio.datamodels.core.models.Node#accept(io.apicurio.datamodels.core.visitors.IVisitor) * @param {*} visitor */ accept(visitor: IVisitor): void; }